В этом руководстве рассказывается, как создавать, размещать и обновлять публикации, отвечать на публикации на вашей Странице Facebook от имени Страницы, а также удалять публикации с помощью Pages API от Meta.
This guide assumes you have read the Overview
For a person who can perform tasks on the page, you will need to implement Facebook Login to ask for the following permissions and receive a Page access token:
pages_manage_engagement
pages_manage_posts
pages_read_engagement
pages_read_user_engagement
publish_video
permission, if you are publishing a video to the PageYour app user must be able to perform the CREATE_CONTENT
, MANAGE
, and MODERATE
tasks on the Page in the API requests.
If your app users do not own or manage the Page in the API requests, your app will need a User access token and the following features:
При тестировании вызова API можно добавить параметр access_token
и задать в нем маркер доступа. Однако при выполнении безопасных вызовов из приложения следует использоваться класс маркера доступа.
Чтобы разместить публикацию на Странице, отправьте запрос POST
к конечной точке /page_id/feed
, подставив в качестве page_id
ID своей Страницы, со следующими параметрами:
message
— текст публикации;link
— URL, если вы хотите опубликовать ссылку;published
значение true
(используется по умолчанию), а чтобы отложить публикацию — значение false
;
false
, добавьте параметр scheduled_publish_time
и укажите в нем дату в одном из следующих форматов:
1530432000
);2018-09-01T10:15:30+01:00
);strtotime()
, вы можете задействовать операцию чтение после записи для параметра scheduled_publish_time
созданной публикации, чтобы обеспечить необходимый результат.
curl -X POST "https://graph.facebook.com/v21.0
/page_id/feed" \
-H "Content-Type: application/json" \
-d '{
"message":"your_message_text",
"link":"your_url",
"published":"false",
"scheduled_publish_time":"unix_time_stamp_of_a_future_date",
}'
В случае успеха ваше приложение получит следующий ответ JSON с ID публикации:
{ "id": "page_post_id" }
Чтобы ограничить возможности просмотра публикации Страницы, в запрос POST
можно добавить объект targeting.geo_locations
или параметр feed_targeting.geo_locations
.
-d '{ ... "targeting": { "geo_locations": { "countries": [ "CA" ], "cities": [ { "key": "296875", "name": "Toronto" } ] } }, ... }'
В некоторых случаях указание страны и входящего в ее состав региона может привести к следующей ошибке: "Некоторые из ваших местоположений пересекаются. Попробуйте удалить одну из точек". В этих случаях используйте таргетинг только на страну или только на регион, в зависимости от нужной зоны покрытия.
Вы можете публиковать на Странице фото и видео.
Чтобы опубликовать на Странице фото, отправьте запрос POST
к конечной точке /page_id/photos
, подставив в качестве page_id
ID своей Страницы, а в параметре url
задайте адрес фото для публикации.
curl -X POST "https://graph.facebook.com/v21.0
/page_id/photos" \
-H "Content-Type: application/json" \
-d '{
"url":"path_to_photo",
В случае успеха ваше приложение получит следующий ответ JSON с ID фото и ID публикации:
{ "id":"photo_id", "post_id":"page_post_id" }
Если вы собираетесь публиковать на своей Странице видео, ознакомьтесь с документацией по Video API.
Чтобы получить список публикаций Страницы, отправьте запрос GET
к конечной точке /page_id/feed
.
curl -i -X GET "https://graph.facebook.com/v21.0
/page_id/feed"
В случае успеха ваше приложение получит следующий ответ JSON с массивом объектов, содержащих ID публикации, время создания публикации и контент публикации, для каждой публикации на вашей Странице:
{ "data": [ { "created_time": "2019-01-02T18:31:28+0000", "message": "This is my test post on my Page.", "id": "page_post_id" } ], ... }
Публикации Страниц имеют следующие URL, или постоянные ссылки: https://www.facebook.com/
page_post_id
.
Чтобы обновить публикацию Страницы, отправьте запрос POST
к конечной точке /page_post_id
и добавьте параметры, которые вы хотите изменить, с новыми значениями.
curl -X POST "https://graph.facebook.com/v21.0
/page_post_id" \
-H "Content-Type: application/json" \
-d '{
"message":"I am updating my Page post",
}'
В случае успеха ваше приложение получит следующий ответ JSON, в котором для параметра success
будет установлено значение true:
{ "success": true }
Приложение может обновлять только публикации Страницы, созданные с использованием этого приложения.
Чтобы удалить публикацию Страницы, отправьте запрос DELETE
к конечной точке /page_post_id
и подставьте вместо page_post_id
ID публикации, которую нужно удалить.
curl -i -X DELETE "https://graph.facebook.com/v21.0
/page_post_id"
В случае успеха ваше приложение получит следующий ответ JSON, в котором для параметра success
будет установлено значение true
:
{ "success": true }
Узнайте, как комментировать публикации Страницы и @упоминать людей и Страницы, оставивших публикации или комментарии на вашей Странице.