다음 내용은 Webhooks 제품 문서에서 발췌했습니다. Webhooks에 대해 잘 모르시는 경우 Webhooks 문서를 참조하세요.
라이브 Webhooks 알림을 수신하려면 다음 조건을 충족해야 합니다.
앱 권한의 액세스 수준이 Advanced Access가 아닌 경우 앱에 Webhooks 알림이 수신되지 않습니다.
media
필드를 요청하세요.-1
로 반환됩니다.comments
및 live_comments
Webhooks 필드에 대한 Webhooks 알림을 받을 수 있습니다. Webhoooks를 수락하고 처리하는 엔드포인트를 만듭니다. 구성 중에 Instagram 그래프 API 개체를 선택하고 설정을 클릭한 다음, 하나 이상의 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 비즈니스 계정(17841405726653026
)에 전송되는 댓글 Webhooks 알림 페이로드 샘플은 다음과 같습니다.
[ { "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 비즈니스 계정(17841405726653026
)에 전송되는 캡션 @언급 Webhooks 알림 샘플은 다음과 같습니다.
[ { "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
속성에 대해 페이로드를 구문 분석하여 댓글에 답할지 결정합니다. 응답하려면 Webhooks 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" }