【GoogleChatとGAS】Webhookを使ってスペースに投稿してみよう

2021年11月7日日曜日

 おもむろに始めたGoogleChat企画!

今日は手始めにGASとWebhookを使って、GoogleChat に投稿してみましょう。

なおWebhookや今後紹介するAPIは、2021/11/07現在個人版では使用できません(ケチい~)。

コード

特にテクいことはしていないのですが、UrlFetchApp(公式レファレンスに飛びます)を使用してAPIする必要があります。
function postMessage() {
let message = "GASから投稿されました。"
let url = "ここにWebhookのURL";
let payload = {
"text" : message
}
let json = JSON.stringify(payload);
let options = {
'method': 'POST',
'contentType': 'application/json; charset=UTF-8',
"payload" : json
};
let response = UrlFetchApp.fetch(url, options);
}
view raw webhook.gs hosted with ❤ by GitHub

Webhookの作り方

投稿したいスペースの名前をクリックすると、下記のようなメニューが表示されます。
「Webhookを管理」をクリックしましょう。
こんな感じで設定します。アバターのURLは未設定でも使用できます。
※アバターのURLですがWeb上に公開されている必要があります。GoogleDriveから公開したい場合は、Webに向けて全公開し、そのままの共有URLではなく「http://drive.google.com/uc?export=view&id={ID}」
みたいにする必要があります。
できました。URLコピーボタンをクリックして、GASのコードに貼り付けましょう。
投稿に成功するとスペースにこんなメッセージが表示されます。

というわけで、初回なのでこんな感じで以上です!

せっかくGoogleWorkspaceについてきているのに、あまりの微妙っぽさから別プロダクトを使われてしまうちょっとかわいそうな子。
その一因として、
・WebhookとAPIが無料の個人環境には提供されておらず技術検証ができないこと
・英語のレファレンスのみ
が原因であると考えました。

なので今後は実務で使っているコードの紹介や、こんなこともできるよ!みたいなところも検証しながら紹介できればと思いますー!