9
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Workplace by FacebookにGraph APIで投稿する

Last updated at Posted at 2016-11-16

とりあえずメモ書き。
まだ制限はありますが、Graph APIでWorkplaceに投稿できます。

参考) Graph API for Workplace
https://developers.facebook.com/docs/workplace/custom-integrations/overview

アクセストークンとコミュニティIDの取得方法

  1. Admin権限を持っているユーザーでログイン
  2. 社内ダッシュボードから、設定メニュー(左メニューの一番下)を開く
  3. 基本設定(翻訳がメニューと異なっている)から、外部アプリでメンバーを同期にチェックを入れる。その下のアクセストークンとコミュニティIDを使う。

メンバーIDとメンバーアクセストークン(impersonate_token)の取得方法

{member-id}エンドポイントに対して、GETリクエストすることでメンバーアクセストークンが取得できる 。
まず、上記で取得したアクセストークンを使って、メンバIDを取得する。

curl -X GET "https://graph.facebook.com/<コミュニティID>/members?access_token=<アクセストークン>"
{
  "data": [
    {
      "name": "Masaki Kubomura",
      "id": "100000000000001",
      "administrator": true
    },
    {
      "name": "Taro Yamada",
      "id": "100000000000002",
      "administrator": true
    }
  ],
  "paging": {
    "cursors": {
      "before": "MTAwMDEzODUxNjc3Mzk2",
      "after": "MTAwMDEzODkyNTU5ODQ4"
    }
  }
}

次に、メンバIDに対して、GETリクエストして、メンバーアクセストークンを取得する。

curl -X GET "https://graph.facebook.com/<メンバーID>?fields=impersonate_token&access_token=<アクセストークン>"
{"impersonate_token":"<メンバーアクセストークン>","id":"100000000000001"}

グループIDの取得方法

curl -X GET "https://graph.facebook.com/<コミュニティID>/groups?fields=id,name&access_token=<アクセストークン>"
{
  "data": [
    {
      "id": "200000000000001",
      "name": "Test Group"
    },
    {
      "id": "200000000000002",
      "name": "Random"
    }
  ],
  "paging": {
    "cursors": {
      "after": "MTU5MTA1OTU5Nzg2Njc5Ng==",
      "before": "MTgwMDk1Njc0Njg2MDQ3NQ=="
    },
    "next": "https://graph.facebook.com/v2.8/<コミュニティID>/groups?fields=id,name&icon_size=16&access_token=<アクセストークン>&limit=25&after=MTU5MTA1OTU5Nzg2Njc5Ng%3D%3D"
  }
}

投稿する

curl -X POST "https://graph.facebook.com/<メンバID or グループID/feed?message=<URLEncode(UTF-8)テキスト>&access_token=<アクセストークン or メンバーアクセストークン>

注意) グループに投稿する場合、そのグループに所属しているメンバーのメンバーアクセストークンで投稿する。

9
12
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
9
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?