marp |
---|
true |
#Shizuhack 2023
2023-06-02 ~ 2023-06-04
やりたいネタ
- Google Chat APIを使ってみる
業務のシステムを操作したり、状態を返すときに ChatOpsとしてGoogle Chatを使いたい。 (Workspace契約してるし、無料で使えるし)
Google Chat API
まずは読む: https://developers.google.com/chat/concepts?hl=ja
Google Chat API できること
- incoming webhookが使える(なるほどわかる)
- ChatのREST APIが使える(わからんけどスルー)
- チャットアプリを作る(よくわからん)
コマンド実装は
- テキスト以外にカードタイプのUIが使えるらしい
- カードでインタラクティブな操作
- フォーム(ダイアログという)もあるらしい
- スラッシュコマンドとかも実装できるらしい
カードUIの例
incoming webhook
- webhookアドレスとGoogle Chatを連携して
- そのアドレスにPOSTすると、Google Chatにメッセージが送られる
らしい。slackのincoming webhookと同じようなものかな。
https://developers.google.com/chat/how-tos/webhooks?hl=ja
Chat Rest API
- いわゆるGoogle APIで使われるものと同じ。非同期らしい
- 多分使わないので、詳しくは読まない
https://developers.google.com/chat/api/guides?hl=ja
Chatアプリを作る
多分これが本丸。
SlackとかLINEのbotみたいなものを作ることができるらしい。
https://developers.google.com/chat/how-tos/apps-develop?hl=ja
サンプルコード集
https://github.com/googleworkspace/google-chat-samples/tree/main/python
システムと接続したい
- とりあえずサンプルのbasic-botを試す
- Slack APIのようにローカル + ngrok 的な方法で試したかった
- サンプルがCloud Functionの例が多くて、ローカルで動かすのが難しそう
- 何かしらGoogle WorkspaceアカウントのGoogle Cloudでプロジェクトを作らないとGoogle Chat側でも認識してくれないらしい
Cloud Pub/Subがいいらしい
https://developers.google.com/chat/api/guides/firewall/pub-sub?hl=ja
- "組織用のアプリを作成する際に、組織でファイアウォールが使用されている可能性があるため、Google Chat からアプリにメッセージが送信されない可能性があります。これを実現するため、Google Chat には Cloud Pub/Sub とのインテグレーションがあります。"
- slackのwebsocket的な立ち位置で使うものらしい
- あとDialogFlowを経由する方法もあるっぽい
Appendex
日本酒
コーヒー
BBQ 🍖🍺
ゆるキャン△聖地
まとめ
- 日本酒とコーヒーとBBQ良かった
- 聖地巡礼はいいぞー
- Google Chat APIよくわからんのでもうちょっと調べる
Thx @mizzsugar
- お宿いいところでした -> ISOLA伊豆高原 https://goo.gl/maps/LGkdXGnKa1g917Nd9