Ответ 1
status_update
больше не используется. Чтобы публиковать на страницах, мне пришлось использовать как manage_pages
, так и publish_pages
.
Я прочитал fb docs и написал код, чтобы опубликовать сообщение на странице "facebook", однако я получаю сообщение об ошибке, которое я не ожидаю увидеть:
(#200) The user hasn't authorized the application to perform this action
Вот что я сделал:
APP_ID
и
APP_SECRET
.PAGE_ID
.USER_ACCESS_TOKEN
с областью действия "publish_actions, manage_pages" для пользователя. Я принял разрешения, запрошенные моим приложением, когда перенаправлен на страницу auth facebook.https://graph.facebook.com/me/accounts
с помощью USER_ACCESS_TOKEN
, и я возвращаю список страниц, которые я администрирую, включая тот, который я хочу отправить.Этот блок данных для моей страницы выглядит так:
{
"data": [
{
"category": "Community",
"name": "My Generic Test Page",
"access_token": PAGE_ACCESS_TOKEN,
"id": PAGE_ID,
"perms": [
"ADMINISTER",
"EDIT_PROFILE",
"CREATE_CONTENT",
"MODERATE_CONTENT",
"CREATE_ADS",
"BASIC_ADMIN"
]
},
....
]
}
Затем я использую PAGE_ACCESS_TOKEN
, чтобы отправить сообщение на страницу:
https://graph.facebook.com/PAGE_ID/feed
с полем message
, равным This is a test post.
Facebook возвращает:
{
"error": {
"message": "(#200) The user hasn't authorized the application to perform this action",
"type": "OAuthException",
"code": 200
}
}
Используя отладчик токенов, я могу подтвердить, что мой PAGE_ACCESS_TOKEN
действителен и имеет области видимости: manage_pages
и publish_actions
.
Где я пропущу авторизацию приложения? Нужны ли дополнительные области? Я пропустил щелчок на экране авторизации на facebook? Есть ли настройка в приложении, которое мне не хватает? После нескольких дней отладки этого я должен быть слеп к этой проблеме.: - |
status_update
больше не используется. Чтобы публиковать на страницах, мне пришлось использовать как manage_pages
, так и publish_pages
.
Вам следует добавить разрешение status_update, например
и я могу опубликовать страницу, которую мне понравился с помощью токена доступа, который я получил сейчас:
Если вы хотите опубликовать администратор страницы, вам потребуются разрешения manage_pages и status_update, например
Приветствия
Ну, это, похоже, распространенная ошибка, которую большинство из нас делает, пытаясь сделать деятельность в социальных сетях. Прежде чем пытаться установить действие открытого графа, вам необходимо установить разрешения в своем первоначальном запросе авторизации. По умолчанию вы получаете доступ только к "доступным только для чтения" к их основной информации. Settintg up permisson во время авторизации является обязательным для Facebook и API LinkedIn..
См. раздел public_actions
в Facebook, чтобы открыть разрешения на просмотр здесь и внести соответствующие изменения в код авторизации и решить проблему.
Я нашел лучший способ получить действительный токен и проверить разрешения через Graph API Explorer, но в то время как документация на Facebook обширна, это не всегда проще всего следовать.
В проводнике вы должны посмотреть оба: