Расширение токена доступа к странице Facebook
Мне нужно расширить токен доступа к facebook, я вызываю это:
https://graph.facebook.com/oauth/access_token?
client_id={MY PAGE ID}&
client_secret={THE SECRET KEY OF MY APP}&
grant_type=fb_exchange_token&
fb_exchange_token={AN ACCESS TOKEN FOR MY PAGE}
и я получаю эту ошибку:
"error": {
"message": "Error validating application. Cannot get application info due to a system error.",
"type": "OAuthException",
"code": 101
}
Я видел много проблем с этим access_token, но никто не ответил относительно страниц, idk, почему facebook использует api, почему... но это способ...
Спасибо,
Ответы
Ответ 1
Чтобы получить долгоживущий токен доступа, вам необходимо выполнить следующие шаги:
- Создать приложение
- Создайте страницу (ваша учетная запись должна быть "администратором" страницы).
-
Свяжите приложение с страницей (так же, как вы это делаете, когда хотите добавить вкладку страницы на страницу)
http://facebook.com/add.php?api_key=*YOUR_APP_ID*&pages=1&page=*YOUR_PAGE_ID*
-
Получите недолгосрочный токен доступа с разрешением "manage_pages", связанным с вашим приложением.
https://graph.facebook.com/oauth/authorize?client_id=__APP_ID__&scope=manage_pages&redirect_uri=http://www.facebook.com/connect/login_success.html
then
https://graph.facebook.com/oauth/access_token?client_id=__APP_ID__&redirect_uri=http://www.facebook.com/connect/login_success.html&client_secret=__APP_SECRET__&code=__CODE_FROM_PREVIOUS_REQUEST__
-
Используя Graph API Explorer с запросом /me/accounts, вы можете увидеть токены доступа для каждой страницы, на которой вы являетесь администратором. Проблема в том, что эти токены доступа недолговечны.
-
Преобразуйте токен с недолгосрочным доступом в долгоживущий (расширяющий токен доступа):
https://graph.facebook.com/oauth/access_token?client_id=_APP_ID_&client_secret=_APP_SECRET_&grant_type=fb_exchange_token&fb_exchange_token=_ACCESS_TOKEN_ON_STEP_4_
-
Теперь вы можете протестировать свой новый токен доступа с помощью Отклика маркера доступа.
Ответ 2
Сценарий 5: токены доступа к странице
Когда пользователь предоставляет приложение разрешение manage_pages, приложение может для получения токенов доступа к странице для страниц, которыми пользователь управляет запрос конечной точки API-интерфейса [User ID]/учетных записей. С миграцией включен, при использовании недолгого токена доступа пользователя для запроса этого конечная точка, полученные токены доступа к странице также недолговечны.
Обменивать токен доступа с недолгосрочным доступом для долговременного доступа токена, используя конечную точку и шаги, описанные ранее. Используя долгоживущий токен доступа пользователя, запрашивающий конечную точку [Идентификатор пользователя]/учетных записей теперь будут предоставлять токены доступа к странице, которые не истекают для страниц, которые пользователь управляет. Это также будет применяться при запросе с не истекающим сроком действия токен доступа пользователя, полученный через устаревший offline_access разрешение.
https://developers.facebook.com/roadmap/offline-access-removal/
Ответ 3
Ниже приведена информация о получении "расширенного токена доступа к странице", который действителен навсегда (не только 60 дней):
http://www.devils-heaven.com/facebook-access-tokens/