💬
GASでGooglechatにメッセージを投稿する
GASでスレッドを指定してGooglechatへメッセージ投稿します
webhookのurlを取得
チャットスペース名をクリック→アプリと統合をクリック→webhookの管理
からwebhookを追加し、urlの取得ができます。
googleのリファレンスに追加方法が詳しく記載されていました。
チャットスペースのIDを取得
チャットスペースを開いている時のurlに載っています。
https://〜〜chat/space/abcd1234
スレッドIDの取得
取得方法には2通りあります
①チャット送信したレスポンスから取得
②デベロッパーツールから確認
①レスポンスから取得
webhookのurlを使用してチャットを投稿し、レスポンスの中のname部分がスレッドIDです。
"thread": {
"name": "spaces/AAAAAAAAAAA/threads/BBBBBBBBBBB"
}
②Chromeのデベロッパツールで確認
デベロッパツールでソースコードを確認し、data-topic-id="aaaaa_aaaaa"の部分とチャットスペースのIDを組み合わせます。
"spaces/スペースID/threads/スレッドID"
送信処理
取得したwebhookのurlとスレッドIDを使ってチャットを投稿します。
function sendMessage() {
let url = "webhookのurl";
let thread = "スレッドID";
let message = {
'text': 'チャットの文面',
'thread': {
'name': thread
}
}
let options = {
'method': 'POST',
'headers': {
'Content-Type': 'application/json; charset=UTF-8'
},
'payload': JSON.stringify(message)
};
let response = UrlFetchApp.fetch(url, options); //送信処理
console.log(response);
スレッドIDを指定しない場合は新しいスレッドを立ててのチャット投稿になります。
Discussion