PHP
google
bot
Webhook
HangoutsChat
Day 18

[超簡単]Hangouts Chat の incoming webhooks を使ってAPIから簡単にメッセージを投稿する


概要


  • タイトル通りです。

  • Hangouts Chat は ルーム毎に超簡単にwebhook用のURLを払い出すことが出来ます。

  • 投稿もとても簡単です。

  • なお、Hangouts Chatは、G suite を利用されていればご利用頂けます。

  • 社内ツールとしてバンバン活用しましょう!


準備


  • webhook の エンドポイントを払い出します。


  1. 喋らせたい部屋のメニューから「Webhookを設定」を開きます。

    s1 [2].jpg


  2. bot名を決めます


s2 [2].jpg


  1. 投稿用URLが払い出されるのでメモしておきます。

s3 [2].jpg


curl から投稿してみる


  • 簡単なJSON構造をPOSTすることで簡単に投稿出来ます!

curl -H 'Content-Type:application/json' -d '{ "text": "Hello World :)" }' "WebhookのURL"

image.png


  • か、、簡単!\(^o^)/


php からの投稿


  • 簡単なサンプルコードを記載します。

<?php

define('WEBHOOK_URL', 'WebhookのURL');

function post_message($text){

$content = json_encode(['text' => $text]);

$options = [
'http'=> [
'method' => 'POST',
'header' => "Content-Type: application/json\r\n"
. "Content-Length: " . strlen($content) . "\r\n" ,
'content' => $content
]
];
$context = stream_context_create($options);
$resultJson = file_get_contents(WEBHOOK_URL, FALSE, $context);

if(strpos($http_response_header[0], '200')){
return true;
}
return false;
}

post_message("Hello World :)");


あれこれ


  • Webhook の説明はUsing incoming webhooksをご覧ください。簡単な英語です。

  • 投稿のフォーマットをもっとリッチにしたいときは、

  • 今回使った投稿フォーマットの説明はこちら。太文字や打ち消し線、コードなどに対応しています。

  • もっとリッチに画像入れたりする場合は、cardsというフォーマットを見てみましょう。 今回はやりませんでしたが、こちらも比較的簡単に出来ます。


まとめ


  • 単純な送信であれば、Webhook のURLに JSONを投げつけるだけで簡単にbot が実装可能です!\(^o^)/

  • 「簡単」という単語が本文中に10回出現します。