Hangouts ChatのAPIで通知BOTを作る
Gsuiteを使っている人は、Hangouts Chatが社内コミュニケーションツールだったりするけど、
Slackみたいに書いてくれている人があまりいないのでまとめる。
まずはJSからポストして、チャットルームにメッセージを送る場合。
なにを送るかはあなたのアイデア次第。
function checklog () {
console.log(this.responseText); //動作確認用
}var url = "ここにWebhookのURLを入れる";
var text ="ここに送信したメッセージを入れる";var request = new XMLHttpRequest();
request.addEventListener("load",checklog); //動作確認用
request.open("POST", url);
request.setRequestHeader('Content-Type','application/json; charset=UTF-8');var obj = {"text":text};
var json = JSON.stringify(obj); //エンコードしないとエラーになるrequest.send(json);
WebhookのURLはチャットルーム名をプルダウンしたところにあります。
Webhookを追加するときに決める名前はBOTの名前。
あとで変えれるのでテキトーでOK。
次にGAS(Google Apps Script)からポストする場合。
Googleフォームとかスプレッドシートの通知に使いたい人用。
GASではXMLHttpRequestが使えないので、
UrlFetchApp.fetchを使わないとだめらしい。
function test(){
var url = "ここにWebhookのURL";
var text = "ここに送信したいメッセージ"
var payload = {
"text" : text
}var json = JSON.stringify(payload); //エンコード
// ポストするためにヘッダーとかボディをまとめて入力する
var options = {
"method" : "POST",
"contentType" : 'application/json; charset=utf-8',
"payload" : json
}var response = UrlFetchApp.fetch(url, options); //XMLHttpRequestが使えないのでこっちでポスト
}
プロジェクトのトリガーをフォームの送信とかにすれば、
メールフォームに問い合わせが入るたびにHangout Chatに通知してくれる。
トリガーの変更はここにあります。
現在のプロジェクトのトリガーから追加すればOK。
functionごとにトリガーを選べるので、今回のスクリプトを選んでください。
夢みるプログラム ?人工無脳・チャットボットで考察する会話と心のアルゴリズム?
- 作者: 加藤真一
- 出版社/メーカー: ラトルズ
- 発売日: 2016/08/31
- メディア: Kindle版
- この商品を含むブログを見る
こっちもどうぞ