LoginSignup
6
4

More than 5 years have passed since last update.

こんにちは! iOSアプリエンジニアの@takashi9314です。
弊社Favyでは社内チャットツールとして、
Workplace by Facebookを利用しています。
このWorkplaceはUIが基本的にはFacebookと全く同じということで、
いろいろな職種のメンバーが存在している弊社にはもってこいの利点があります。

ただし・・・
Slackみたいにサクッと通知!
的なことに非常に弱いです。
ただし方法はあるので、その調べた結果を綴ります。

Workplaceで通知

手順的には下記の通りになります。

  1. 管理者権限を持つアカウントでログイン
  2. 画面右上の「ダッシュボード」→サイドメニューの「統合」→ページ下部の「カスタムアプリを作成」からアプリを作成します。作成するアプリごとに権限や機能を変更する事ができます。
  3. 作成したアプリのアクセストークンをコピー
  4. コピーしたアクセストークンを用いて、WorkplaceGraphAPIを用いて投稿を行う。

指定したグループに投稿

まず投稿を行うにはグループIDが必要になります。
グループIDとは使用しているWorkplace上に作られた各々のグループに振り分けられたIDです。
APIを利用して取得することもできますが、単純にそのグループのトップ画面をブラウザで表示すると、
https://{あなたのWorkplaceのhost}/groups/{グループID}
上記のように簡単にグループのIDを知ることができます。

取得したグループIDを用いて
https://graph.facebook.com/{グループID}/feed?message={メッセージ}
上記のURLに対してPOSTでリクエストを送信すれば投稿が行なえます。
先程取得したトークンをヘッダーに付与する事をお忘れなく。

特定の人をタグ付けして投稿

特定の人をタグ付けする人には対象の人のWorkPlaceIDは必要になります。
上記でグループIDを取得したのと同じように、ユーザーのトップページのURLで
https://{あなたのWorkplaceのhost}/profile.php?id={WorkplaceID}
上記のようにユーザーのIDを知ることができます。

それを用いて、
https://graph.facebook.com/{グループID}/feed?message={メッセージ}+@[{WorkplaceID}]
上記のようなURLを作成してPOSTすれば投稿が行なえます。
こちらも先程取得したトークンをヘッダーに付与する事をお忘れなく。

さいごに

WorkplaceGraphAPIを利用して他にもメンバーの情報を取得したりグループを作成したりと様々な事ができますが、機能的には全く整っていません。
うちの会社ではこんな使い方してるよ〜!みたいなのあればコメントに是非ください^^

ほしい機能
- 名前やメールアドレスからメンバーを検索する機能
- 直接チャットに送信をする機能

6
4
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
4