■1.背景
最近別の業務でUipathを触れることが多くなりました。
勉強がてら、Uipath経由でGoogle Chatを使おうとしていたのですが……
「どこにも情報がない」
てかそもそもGoogle ChatのAPI情報が少ない。(Slackなら死ぬほどあるのに)
APIでチャット投げるってみんなしないのかしら……
どうにかしてGoogle WorkspaceのWebhook経由で使う方法とかないのかなぁと探すこと幾億年、ようやく見つけました。
動画はSlackのガイドではありますが、ちゃんとGoogleでも使えるので安心してください。
■2.実践
ステップは大きく3つです。
1. Webhookを連携先のチャットから入手する。
2. WebAPIのパッケージを導入する。
3. JSON形式でチャットを送信する。
▼1 Webhookを連携先のチャットから入手する
GASを触ったことあるなら「なんだ、いつものか」になりますよね。
最近仕様変更が入って、WebhookURLは画像の通りアプリと統合
の中に格納されています。
Google WorkspaceでBot作ったことないと戸惑うかもしれませんが、ポップアップのWebhookを管理
から適当な名前を付けてWebhookを保存します。うまくいくとURLが出るはずです。
後ほどこのURLをUipathで使いますので、メモ帳かなんかに残しておきましょう。
▼2 WebAPIのパッケージを導入する
UipathからWebAPIのパッケージを導入します。公式のパッケージを使います。
ダウンロードが完了すると、HTTP Request
が使えるようになるので、シーケンスにぶち込みます。
この時設定がごちゃごちゃとでますが、無視して閉じて大丈夫です。かわりにプロパティからいろいろ設定をいじくります。
↑の図の赤枠で囲ったInput
の中身を次のように変更します。
Accept Format : ANY
Request Method : POST
Request URL : "1で保存したWebhookURL"
WebhookURLであれば実はなんでもいいので、Slack, MS Teamsなど自身の使いたいWebhookを入れてください。WebhookURLの取得方法は各自でお探しください。
▼3 JSON形式でチャットを送信する
できる人はXMLでもいいです。メッセージ本体の内容を作って送り付けます。
ここではJSON形式について詳しい説明はしませんが、フォーマットの一部だと思っていください。
"{'text':'textmessagehere'}"
以上です。
あとはファイルを実行してみましょう。
成功ですね。ちなみに送るメッセージは変数を使って送ることもできます。事前にassignを組み込んでおけば、サブルーチンとしても利用できます。
"{'text':'"+string_MessageContent+"'}"
■最後に
同一スレッドの投稿なども試したかったですがわからなかったです。
cURLとかでAPIを叩きに行った方がいいかもしれませんが、RPAは脳死でやりたいので本末転倒です。(保守や引継ぎとか考えるのがだるいので……)
活用方法などがあればぜひ教えてください~