페이지용 Webhooks에서 페이지 업데이트에 대한 실시간 알림을 보낼 수 있습니다. 예를 들어 사용자가 피드에 게시하거나, 게시물에 댓글을 달거나, 게시물에 좋아요를 누를 때마다 실시간 업데이트를 받을 수 있습니다.
페이지 Webhook을 설정하는 방법은 다음과 같습니다.
시작하기 가이드에 따라 엔드포인트를 만들고 Webhooks 제품을 구성합니다. 구성하는 동안 페이지 개체를 선택하고 아래의 페이지 필드 중 하나 이상을 구독하세요.
| 필드 | 설명 |
|---|---|
| 게시물, 공감, 공유 등의 페이지 피드가 변경되었을 때 알립니다. |
| 페이지가 Messenger를 통해 메시지를 받았을 때 알립니다. 사용 가능한 메시지 Webhooks 필드의 리스트는 Messenger용 Webhooks 가이드를 참조하세요. |
페이지에 Webhooks를 구성한 앱을 설치했거나 페이지가 앱 설정에서 앱 플랫폼을 비활성화하지 않았을 경우에만 Webhook 알림이 전송됩니다. 페이지에 앱을 설치하려면 앱이 페이지의 액세스 토큰을 사용하여 POST 요청을 페이지의 subscribed_apps 에지로 보내도록 합니다.
CREATE_CONTENT, MANAGE 또는 MODERATE 작업을 수행할 수 있는 사용자가 요청한 페이지 액세스 토큰
feed Webhooks에 pages_manage_metadata 및 pages_show_list 권한 필요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}"
}