画像付きでGoogle Hangout Chatに投稿する
前回の続き。
Google Hangout Chatは、人間の投稿のほかにBOTでのテキスト投稿が可能なので、例えば日経平均前場後場の値を定期的に投稿したり、例えば新規上場会社の有価証券届出書がEDINETに提出されたものを定点観測して、Google Hangout Chatのチャットルームに定期実行で投稿したりしているのだが、Google Hangout Chatは、テキスト投稿だけでなくcard形式の投稿も可能であり、画像を付けて投稿することも可能。
参考↓
https://qiita.com/Shota_Fukuda/items/7cd94126b578fad81d27
https://qiita.com/nagase/items/5f2ea033cf91ad9b9309
この記事によると**1つのwidgetsに紐づけできるのは1種類のコンポーネント**とのことなので、以下スクリプトのように、sectionsの下に2つのwidgetsを用意して、1つはimageを(click先のURLリンクを指定)、もうひとつはTextParagraphを紐づけして、画像とテキストを合わせて投稿してみた。
import requests
from json import dumps
#webhook
webhook_url = 'https://chat.googleapis.com/v1/spaces/ABCDE1234/messages567FGHIJKLMN89OPQRSTU0'
bot_message= {
"cards": [
{
"sections": [
{
"widgets": [
{
"image": {
"imageUrl": "https://example_fugafuga.net/fox.jpg",
"onClick": {
"openLink": {
"url": "https://example.com/12345678/"
}
}
}
}
]
},{
"widgets": [
{
"textParagraph": {
"text": "<b>きつね</b><br>「<font color=\"#ff0000\">おきつねさま</font>」"
}
}
]
}
]
}
]
}
ret = response = requests.post(
webhook_url,
data=dumps(bot_message)
)
print(ret) # 成功:Response [200] / 失敗:[400]
・画像はネット上のURLを指定
・textparagraphのテキストは、文字の色を変更したり改行したりすることが可能。詳細はこちら。
想定される利用用途
GUILD社の中の人が言及しているが、Webメディア等のKPI数値をダッシュボードで定点観測するだけだと、チームでのコミュニケーションがなかなか促進しないため、ダッシュボードからKPI数値をグラフ化したファイルを生成し、SlashやGoogle Hangout chat等に定期的に吐き出すBOTみたいなものを用意するというのはありますね。
※参考
デザインとコミュニケーションで改善するデータのUX (via.GO ANDO at.GUILD)の38ページ目↓
例えばGoogle Analyticsなどは、Re:dashなどのダッシュボードのソース元に設定できて、Re:dashはSlashと連携できるらしいので、上のイメージ図のように、週次のPV推移の棒グラフをSlackに吐き出して、チーム内で共有しつつ、やんややんや(喧々ごうごう侃々諤々)ディスカッションしてPDCAを回すといったことも可能。なのだがRe:dashやSlackなどイケてるITベンチャーが使うツールを用意しなくても、Google Hangout chatでも同じ様に、KPI数値をグラフ化した画像を定期実行で投稿することは可能かと。
続く...