Skip to content

Instantly share code, notes, and snippets.

@hrsano645
Last active June 4, 2023 09:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hrsano645/e5c7016e8b7f8cd3710c74fbcd3722cd to your computer and use it in GitHub Desktop.
Save hrsano645/e5c7016e8b7f8cd3710c74fbcd3722cd to your computer and use it in GitHub Desktop.
shizuhack2023
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://developers.google.com/chat/samples?hl=ja#:~:text=%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%82%92%E9%80%81%E4%BF%A1-,Google%20Chat%20%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AE%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB,-bookmark_border

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

サンプルコード:GitHub

  • "組織用のアプリを作成する際に、組織でファイアウォールが使用されている可能性があるため、Google Chat からアプリにメッセージが送信されない可能性があります。これを実現するため、Google Chat には Cloud Pub/Sub とのインテグレーションがあります。"
  • slackのwebsocket的な立ち位置で使うものらしい
  • あとDialogFlowを経由する方法もあるっぽい

Appendex


日本酒


コーヒー


BBQ 🍖🍺


ゆるキャン△聖地


まとめ

  • 日本酒とコーヒーとBBQ良かった
  • 聖地巡礼はいいぞー
  • Google Chat APIよくわからんのでもうちょっと調べる

Thx @mizzsugar

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment