この記事は MicroAd Advent Calendar 2017 の25日目の記事です。今日で2017年のAdvend Calendarは終了ですね。参加者の皆様、お疲れ様でした。
はじめに
業務改善のためにWorkplaceで特定のグループに対して定期実行ができたらいいな〜などと考えていました。ところがわたくし、Botを作ったことがありません。と、いうことで、プログラマらしくまずはHello Worldを投稿してみることにしました。
この記事のゴール
WorkplaceのグループにHello Worldを投稿する。
対象者
WorkplaceでBotを作りたいんだけど、一度も作ったことがないという人。
環境の前提
特にありません。プログラミング経験も必要ありません。1 なお、Graph APIというWeb APIを利用するため管理者にアクセストークンを発行してもらう必要はあります。
操作の流れ
- 投稿用グループの準備
- APIトークンの取得
- Restlet ClientからのAPI実行
投稿用グループの用意
適当に投稿用のグループを作りましょう。今回は「Advend Calendar 2017 Bot」などと非常にわかりやすい名前を付けています。
ちなみにグループ種別はなんでもいいです。プライバシー設定を「秘密のグループ」にしても動作します。
アクセストークンの取得
アクセストークンを取得するためにはシステム管理者の権限を所有している必要があります。あなたがシステム管理者の権限を所有していない場合には、システム管理者の権限所有者にこの操作を代行してもらいましょう。
アプリの作成
ダッシュボード > 統合 > カスタム統合 とメニューを辿っていき、[カスタムアプリの作成]ボタンを押下します。名前は適当にどうぞ。
[アクセス許可]および[グループを選択]
カスタムアプリ作成後の設定画面からは[アクセス許可]、[グループを選択]、[Webhooksを設定]そして[詳細オプション]というオプション項目を設定することができます。が、今回はただ投稿するだけのアプリなので[Webhooksを設定]および[詳細オプション]は設定不要です。[アクセス許可]および[グループを選択]のみ設定しましょう。
[アクセス許可]
今回は特定のグループに投稿するだけなので[グループのコンテンツを管理]を設定しています。
[グループを選択]
セキュリティリスクを考慮して、グループを設定しておきます。当然、先ほど作成した投稿用グループを設定します。
これで準備完了です。
Restlet ClientからのAPI実行
最後にアクセストークンを利用してPOST実行します。URIはこんな感じです。
https://graph.facebook.com/{グループID}/feed?message={メッセージ}&access_token={アクセストークン}
今回はコードを記述する手間を省くためにRestlet Clientを利用します。Reslet Clientの紹介は以下の記事をご覧ください。
https://qiita.com/84zume/items/fac99705c39d2f18ada7
それでは早速実行してみましょう!
お!200が返ってきましたね。そのままWorkplaceを確認してみましょう!
アクセストークンがあれば簡単に実行できますね。この調子で社内の目標達成度なんかを定期的にポストできたら便利ですね。
最後に
この記事をきっかけにGraph APIを実行してみていただけたら幸いです。
参考記事
- https://developers.facebook.com/docs/workplace/integrations/custom-integrations/bots
- https://qiita.com/84zume/items/fac99705c39d2f18ada7
-
Hello Worldの投稿に関しては、です。定期的な自動実行や、投稿するコンテンツを自動生成する場合はこの限りではありません。 ↩