以下のコンテンツは、Webhooks製品ドキュメントの一部です。Webhooksにあまり詳しくない場合は、Webhooksのドキュメントを参照してください。
ライブWebhooksの通知を受け取るには、次の条件を満たしていなければなりません。
アプリアクセス許可にAdvanced Accessのアクセスレベルがない場合、アプリはWebhooks通知を受け取ることができません。
media
フィールドをリクエストします。-1
として返されます。comments
とlive_comments
のWebhooksフィールドに関するWebhooks通知を受け取るには、アプリがアプリレビュー(アドバンスアクセス)を完了し、合格していなければなりません。 Webhooksを受け入れて処理するエンドポイントを作成します。構成中、InstagramグラフAPIオブジェクトを選択し、[設定]をクリックし、1つ以上のInstagramフィールドをサブスクリプション登録します。
アプリは、アプリユーザーのアカウントにリンクされているページで、ページサブスクリプションを有効にする必要があります。そのためには、ページサブスクライブアプリエッジにPOST
リクエストを送信して、任意のページフィールドをサブスクリプション登録します。
POST /{page-id}/subscribed_apps ?access_token={access-token} &subscribed_fields={fields}
値のプレースホルダー | 値の説明 |
---|---|
| アプリユーザーのアカウントにリンクされているページのID。 |
| アプリユーザーのページアクセストークン。 |
| ページフィールド(例: |
アプリダッシュボードでページサブスクリプションを構成して、フィールドをサブスクリプション登録しない限り、アプリはそのフィールドの変更の通知を受け取りません。
curl -i -X POST \
"https://graph.facebook.com/v21.0
/1755847768034402/subscribed_apps?subscribed_fields=feed&access_token=EAAFB..."
{ "success": true }
story_insights
フィールドをサブスクリプション登録すると、ストーリーズが期限切れになった後に、ストーリーズのユーザーインタラクションの指標を含むWebhooks通知がエンドポイントに送信されます。
[ { "entry": [ { "changes": [ { "field": "story_insights", "value": { "media_id": "18023345989012587", "exits": 1, "replies": 0, "reach": 17, "taps_forward": 12, "taps_back": 0, "impressions": 28 } } ], "id": "17841405309211844", // Instagram Business or Creator Account ID "time": 1547687043 } ], "object": "instagram" } ]
mentions
フィールドをサブスクリプション登録すると、InstagramユーザーがコメントやキャプションでInstagramビジネスアカウントまたはクリエイターアカウントを@メンションするたびに、Webhooks通知がエンドポイントに送信されます。
例えば、以下はInstagramビジネスアカウントに送信されるコメントWebhooks通知ペイロードのサンプルです(17841405726653026
)。
[ { "entry": [ { "changes": [ { "field": "mentions", "value": { "comment_id": "17894227972186120", "media_id": "17918195224117851" } } ], "id": "17841405726653026", "time": 1520622968 } ], "object": "instagram" } ]
コメントの内容を取得するには、comment_id
プロパティを使用してGET /{ig-user-id}/mentioned_comment
エッジに対してクエリを実行します。
GET https://graph.facebook.com/17841405726653026 ?fields=mentioned_comment.comment_id(17894227972186120)
{ "mentioned_comment": { "timestamp": "2018-03-20T00:05:29+0000", "text": "@bluebottle challenge?", "id": "17894227972186120" }, "id": "17841405726653026" }
応答を取得したら、text
プロパティのペイロードを解析して、コメントに返信するかどうかを判断します。返信するには、Webhooks通知ペイロードのcaption_id
およびmedia_id
プロパティ値を使用して、POST /{ig-user-id}/mentions
エンドポイントに対してクエリを実行します。
curl -i -X POST \ -d "comment_id=17894227972186120" \ -d "media_id=17918195224117851" \ -d "message=Challenge%20accepted!" \ -d "access_token={access-token}" \ "https://graph.facebook.com/17841405726653026/mentions"
{ "id": "17911496353086895" }
mentions
フィールドをサブスクリプション登録すると、ビジネスまたはクリエイターが所有していないメディアオブジェクトのコメントやキャプションで、ユーザーがInstagramビジネスアカウントまたはクリエイターアカウントを@メンションするたびに、Webhooks通知がエンドポイントに送信されます。
例えば、以下はInstagramビジネスアカウントに送信されるキャプションでの@メンションWebhooks通知のサンプルです(17841405726653026
)。
[ { "entry": [ { "changes": [ { "field": "mentions", "value": { "media_id": "17918195224117851" } } ], "id": "17841405726653026", "time": 1520622968 } ], "object": "instagram" } ]
キャプションの内容を取得するには、media_id
プロパティを使用してGET /{ig-user-id}/mentioned_media
エッジに対してクエリを実行します。
GET https://graph.facebook.com/17841405726653026 ?fields=mentioned_media.media_id(17918195224117851){caption,media_type}
{ "mentioned_media": { "caption": "@bluebottle There can be only one!", "media_type": "IMAGE", "id": "17918195224117851" }, "id": "17841405726653026" }
応答を取得したら、caption
プロパティのペイロードを解析して、コメントに回答するかどうかを判断します。返信するには、Webhooksmedia_id
プロパティを使用して、POST /{ig-user-id}/mentions
エッジに対してクエリを実行します。
curl -i -X POST \ -d "media_id=17918195224117851" \ -d "message=MacLeod%20agrees!" \ -d "access_token={access-token}" \ "https://graph.facebook.com/17841405726653026/mentions"
{ "id": "17911496353086895" }