ページ用Webhooksにより、自分のページに対する変更内容についてのお知らせがリアルタイムで届けられるようにすることができます。例えば、ユーザーがフィードに対して投稿したり、投稿に対してコメントしたり、投稿について「いいね!」したりした時点で、リアルタイムで更新を受け取ることができます。
ページWebhookを設定するには、次のようにします。
スタートガイドに従ってエンドポイントを作成し、Webhooks製品を構成します。構成する際に、Pageオブジェクトを選び、下記のページフィールドのうちの1つ以上をサブスクリプション登録するようにしてください。
フィールド | 説明 |
---|---|
| ページのフィードに変更が加えられた時点で通知します。 |
| ページがMessengerでメッセージを受け取った時に通知します。メッセージ関連で使用できるWebhooksフィールドの全一覧は、MessengerのWebhooksガイドをご覧ください。 |
Webhook通知は、Webhooks構成済みアプリがページによってインストールされた場合、かつアプリ設定でアプリのプラットフォームがオフになってはいない場合にのみ送信されます。ページによってアプリがインストールされるようにするには、ページのアクセストークンを使ってアプリからページのsubscribed_appsエッジにPOST
リクエストを送ります。
CREATE_CONTENT
、MANAGE
、またはMODERATE
タスクを実行できる人がリクエストしたページアクセストークン
pages_manage_metadata
とpages_show_list
アクセス許可は、feed
Webhooksに必須ですmessages
には、pages_messaging
も必須ですメッセージ関連のフィールドのみの場合
MESSAGING
タスクを実行できる人がリクエストしたページアクセストークンcurl -i -X POST "https://graph.facebook.com/{page-id}/subscribed_apps ?subscribed_fields=feed &access_token={page-access-token}"
{ "success": "true" }
該当ページによってどのアプリがインストールされたかを調べるには、GET
リクエストを送信します。
curl -i -X GET "https://graph.facebook.com/{page-id}/subscribed_apps &access_token={page-access-token}
{ "data": [ { "category": "Business", "link": "https://my-clever-domain-name.com/app", "name": "My Sample App", "id": "{page-id}" } ] }
ページがアプリを何もインストールしていない場合、APIからは空データセットが返されます。
プログラムを使用したアプリのインストールが望ましくない場合は、グラフAPIエクスプローラを使って簡単にインストールできます。
pages_manage_metadata
アクセス許可を選択します。これにより該当アプリのトークンが、pages_manage_metadata
アクセス許可が付与されたユーザーアクセストークンに交換されます。GET
ドロップダウンメニューをクリックして動作方式を変更し、POST
を選びます。me?fields=id,name
クエリを、ページのIDの後に/subscribed_apps
を付けたものに置き換えてから、クエリを送信します。 アプリから、ページのフィードをサブスクリプション登録したり、フィード関連の変更が発生した時点で通知を受け取ったりすることができます。例えば、ユーザーがページに投稿した時点で送信される通知は次のようになります。
[ { "entry": [ { "changes": [ { "field": "feed", "value": { "from": { "id": "{user-id}", "name": "Cinderella Hoover" }, "item": "post", "post_id": "{page-post-id}", "verb": "add", "created_time": 1520544814, "is_hidden": false, "message": "It's Thursday and I want to eat cake." } } ], "id": "{page-id}", "time": 1520544816 } ], "object": "page" } ]
ページ投稿に対してコメントするには、通知のpost_id
を使います。
curl -i -X POST "https://graph.facebook.com/{page-post-id}/comments ?message=I%20want%20chocolate%20cake%20! &access_token=page-access-token"
{ "id": "{comment-id}" }