以下のコンテンツは、Webhooks製品のドキュメントにあります。Webhooksについてあまり詳しくない場合は、Webhooksのドキュメントを参照してください。
ページ用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}"
}