以下為 Webhooks 產品文件中的內容。如果您不熟悉 Webhooks,請參閱 Webhooks 文件。
若要接收即時 Webhook 通知,必須滿足以下條件:
如果應用程式權限不具備進階存取權限的存取層級,應用程式不會收到 Webhook 通知。
media
欄位可以取得相簿編號。-1
傳回。comments
和 live_comments
Webhooks 欄位的 Webhooks 通知。 建立端點來接受並處理 Webhooks。在設定期間,請選擇 Instagram 圖形 API 物件、點擊設定,並訂閱一或多個 Instagram 欄位。
您的應用程式必須啟用與應用程式用戶帳號連結之粉絲專頁的粉絲專頁訂閱,方法是向粉絲專頁訂閱應用程式關係連線傳送 POST
要求,並訂閱任何粉絲專頁欄位。
POST /{page-id}/subscribed_apps ?access_token={access-token} &subscribed_fields={fields}
參數值預留位置 | 參數值說明 |
---|---|
| 連結應用程式用戶帳號的粉絲專頁編號。 |
| 應用程式用戶的粉絲專頁存取權杖。 |
| 粉絲專頁欄位(例如 |
除非您在應用程式主控板中配置粉絲專頁訂閱並訂閱該欄位,否則應用程式不會收到該欄位的變更通知。
curl -i -X POST \
"https://graph.facebook.com/v21.0
/1755847768034402/subscribed_apps?subscribed_fields=feed&access_token=EAAFB..."
{ "success": true }
如果您訂閱 story_insights
欄位,我們會在限時動態過期時,傳送包含限時動態用戶互動衡量指標的 Webhook 通知到您的端點。
[ { "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 商業或創作者帳號時,我們就會傳送 Webhook 通知到您的端點。
例如,以下是為 Instagram 商業帳號(17841405726653026
)傳送的留言 Webhook 通知承載範例:
[ { "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
屬性的承載,以判斷是否要回應留言。若要回應,請使用 Webhook 通知承載的 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 商業或創作者帳號時,我們就會傳送 Webhook 通知到您的端點。
例如,以下是為 Instagram 商業帳號(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
屬性的承載以確定是否要回覆留言。若要回應,請使用 Webhook media_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" }