LoginSignup
6
5

More than 5 years have passed since last update.

Google Hangouts Chat にpythonで画像付きメッセージを投稿

Last updated at Posted at 2019-02-25

画像付きで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を紐づけして、画像とテキストを合わせて投稿してみた。

test.py

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のテキストは、文字の色を変更したり改行したりすることが可能。詳細はこちら。

※投稿イメージ↓
20190225.png

想定される利用用途

 GUILD社の中の人が言及しているが、Webメディア等のKPI数値をダッシュボードで定点観測するだけだと、チームでのコミュニケーションがなかなか促進しないため、ダッシュボードからKPI数値をグラフ化したファイルを生成し、SlashやGoogle Hangout chat等に定期的に吐き出すBOTみたいなものを用意するというのはありますね。

※参考
デザインとコミュニケーションで改善するデータのUX (via.GO ANDO at.GUILD)の38ページ目↓
image20190221.png
 例えばGoogle Analyticsなどは、Re:dashなどのダッシュボードのソース元に設定できて、Re:dashはSlashと連携できるらしいので、上のイメージ図のように、週次のPV推移の棒グラフをSlackに吐き出して、チーム内で共有しつつ、やんややんや(喧々ごうごう侃々諤々)ディスカッションしてPDCAを回すといったことも可能。なのだがRe:dashやSlackなどイケてるITベンチャーが使うツールを用意しなくても、Google Hangout chatでも同じ様に、KPI数値をグラフ化した画像を定期実行で投稿することは可能かと。

続く...

6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5