kintoneには他システムに対して、
・レコードの追加
・レコードの編集
・レコードの削除
・コメントの書き込み
・レコードのステータスの変更
をWebhookを使って通知することが可能です。例えば、この機能を活用して、kintoneアプリにデータが追加されたときに、LINEに通知する、なんてことができちゃいます。
ということで、今回はkintoneアプリへのデータの登録をWebhookでGoogle Apps Script(GAS)に飛ばして、LINEへ通知する方法を紹介します。
kintoneの「通知機能(更新通知とか、条件、リマインダーの条件通知とか)」を使って、いい感じにLINEに通知するのはこちらをどうぞ!
「kintone標準の通知機能を使って、いい感じに整形してLINEに通知する」
LINE notifyの設定手順
今回は、LINEへの通知はLINE notifyを利用します。LINE notifyの設定等については、下記の記事をご覧ください。
「Google Calendarの予定を毎朝LINEに送る」
GASのコード
それではWebhookを受取ってLINEに投げるコードを書いていきます。Webhookwを投げるためのkintone側の設定は後程行います。
// ← これをつけているところはコメントです。ソースコードとしての意味はありません。
// ↓の********をLINE notifyで発行したトークンに書き換えてください。""(ダブルクォーテーション)は消してはいけません。
var lineToken = "********";
// kintoneからのWebhookを受け取って動く処理
function doPost(e) {
// テキスト
// eにkintoneから投げられたwebhookの中身が入っている
// 構造体については https://jp.cybozu.help/k/ja/user/app_settings/set_webhook/webhook.html
var parsedJson = JSON.parse(e.postData.getDataAsString());
// アプリの名前
var message = parsedJson.app.name + "が更新されました。" + "\n" + "\n";
// kintoneにてレコードのタイトルに指定したフィールド
var content = "タイトルは、" + parsedJson.recordTitle + "です。" + "\n" + "\n";
// レコードへのURLを張る
var link2record = "詳細は、" + parsedJson.url;
// LINEに送信する処理を呼び出しています。
sendToLine(message + content + link2record);
}
// LINE notifyをつかってLINEに送信する処理
function sendToLine(text){
// 一番初めに張り付けたトークンを呼び出しています
var token = lineToken;
// お作法です。
var options =
{
"method" : "post",
"headers" : {"Authorization" : "Bearer "+ token},
"payload" : "message=" + text
};
// 送信!
UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options);
}
このコードを書いて、公開>ウェブ アプリケーションとして導入、から公開します。アプリケーションにアクセスできるユーザーは、全員(匿名ユーザーを含む)にしてください!公開後に、「現在のウェブ アプリケーションの URL」というとこに記載されている下記のようなURLを保存しておきます。
https://script.google.com/macros/s/固有のID/exec
kintone側の設定
kintone側の設定は下記の画面から行います。
アプリの設定画面から、「Webhook」をクリック。
Webhookの一覧画面が出るので、右側の+マークをクリックしてWebhookを設定していきます。
必要な情報を入力して「保存」をクリックします。Webhook URLには先ほど、GASを公開したときに保存したURLを入力します。通知を送信する条件は、どのタイミングでWebhookを飛ばすかを設定します。そして、最後にしっかり有効化のチェックボックスもチェックを入れます。
これで設定完了!
Webhookの設定についてはあわせてこちらのヘルプもご参照ください。
いかがでしょうか?
ここまでの手順で、kintoneからのWebhookをGoogle Apps Scriptで受けて、LINEへ通知が送れるようになりました。簡単にできるので様々な展開が可能ですね!
kintoneのご相談お受けしております!