Google ハングアウトの後継のチャット(インスタントメッセージング)サービス、Chat では、Webhook エンドポイントを使うことでとても簡単にチャットルームへのメッセージの送信ができます。
メッセージの送信に、チャット用の大規模なアプリ開発は不要です。Python でも curl でも JS でも、3行ぐらいでメッセージの送信ができます。
Webhook エンドポイントの作成
1. Chat を開く
2. チャットルームの作成
左上のメニューから、「チャットルームを作成」を選び、
適当に名前をつける。
3. Webhook エンドポイントの作成
チャットルーム名をクリックするとメニューが開くので、「Webhookを設定」をクリック
+ WEBHOOKを追加 をクリック
適当に名前をつけて、「保存」
Webhook の URL ができる。このURLを記録しておく。
メッセージを送信する
Python
import requests
webhook_url = 'https://chat.googleapis.com/v1/spaces/...%3D'
response = requests.post(
webhook_url,
json={"text": "こんにちは、世界!"}
)
requests を使えば、これだけでメッセージを送信できます。簡単ですね!
curl
curl -X POST "https://chat.googleapis.com/v1/spaces/...%3D" \
--header "Content-Type: application/json; charset=UTF-8" \
--data '{"text": "こんにちは!"}'
これで送信できます。
その他
その他のツールでメッセージを送信するには、Incoming webhook with Python を参考に
HTTPリクエストヘッダ: Content-Type: application/json; charset=UTF-8
リクエストボディはJson: {"text": "Hello from Python script!" }
で送信できます。
400エラーが出たら
テストコードを書いていたら、HTTPステータス400
{
"error": {
"code": 400,
"message": "Request contains an invalid argument.",
"status": "INVALID_ARGUMENT"
}
}
このようなエラーレスポンスが返ってきて困ってたのですが、この原因は単純なURLのコピペミスでした。URLの最後まで正しくコピペできているか、確認してください。