В этой статье использован контент из документации по Webhooks. Если у вас нет опыта работы с Webhooks, ознакомьтесь с документацией по Webhooks.
Webhooks для Страниц могут отправлять вам уведомления об изменениях на ваших Страницах в режиме реального времени. Например, можно получать уведомления реального времени каждый раз, когда пользователи публикуют что-то в вашей ленте, комментируют публикации или ставят им отметки "Нравится".
Настройка Webhook Страницы:
Создайте конечную точку и настройте продукт Webhook с помощью нашего руководства по началу работы. Во время настройки выберите объект Страница и подпишитесь на одно или несколько из перечисленных ниже полей Страницы.
Поле | Описание |
---|---|
| Уведомляет об изменениях в ленте Страницы: публикациях, реакциях, репостах и т. п. |
| Уведомляет о получении Страницей сообщения в Messenger. Список всех доступных полей Webhooks сообщений см. в руководстве по Webhooks для Messenger |
Уведомления Webhook отправляются, только если Страница установила настроенное для Webhooks приложение и если для нее не отключена платформа приложений в настройках приложений. Чтобы установить приложение для Страницы, отправьте из приложения запрос POST
к границе контекста subscribed_apps Страницы с использованием маркера доступа Страницы.
CREATE_CONTENT
, MANAGE
или MODERATE
на этой Странице
pages_manage_metadata
и pages_show_list
необходимы для Webhooks feed
pages_messaging
также необходимо для messages
Только для полей, связанных с сообщениями
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 вернет пустой набор данных.
Если вы хотите установить приложение программным путем, воспользуйтесь Graph API Explorer:
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}" }