Я прочитал fb docs и написал код, чтобы опубликовать сообщение на странице "facebook", однако я получаю сообщение об ошибке, которое я не ожидаю увидеть:
(#200) The user hasn't authorized the application to perform this action
Вот что я сделал:
- Я создал приложение facebook, которое предоставляет мои
APP_IDиAPP_SECRET. - Я создал тестовую страницу "facebook". Обратимся к его fb id как
PAGE_ID. - Используется OAuth для получения
USER_ACCESS_TOKENс областью действия "publish_actions, manage_pages" для пользователя. Я принял разрешения, запрошенные моим приложением, когда перенаправлен на страницу auth facebook. - Я сделал GET на
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, чтобы отправить сообщение на страницу:
- Я сделал POST на
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? Есть ли настройка в приложении, которое мне не хватает? После нескольких дней отладки этого я должен быть слеп к этой проблеме.: - |


