Следуя инструкциям, изложенным в документации по расширению маркеров страниц Facebook, я смог получить токен доступа к странице, срок действия которого не истек.
Я предлагаю использовать Graph API Explorer для всех этих шагов, если не указано иное.
0. Создать приложение Facebook
Если у вас уже есть приложение , перейдите к шагу 1.
- Перейти к моим приложениям .
- Нажмите «+ Добавить новое приложение».
- Настройте приложение для веб-сайта.
Вам не нужно менять его разрешения или что-то еще. Вам просто нужно приложение, которое не исчезнет, прежде чем вы закончите с вашим токеном доступа.
1. Получить токен доступа для короткоживущего пользователя
- Перейдите в Graph API Explorer .
- Выберите приложение, для которого вы хотите получить токен доступа (в раскрывающемся меню «Приложение», а не в меню «Мои приложения»).
- Нажмите «Получить токен»> «Получить токен доступа пользователя».
- Во всплывающем окне на вкладке «Расширенные разрешения» установите флажок «manage_pages».
- Нажмите «Получить токен доступа».
- Предоставьте доступ из учетной записи Facebook, у которой есть доступ для управления целевой страницей. Обратите внимание, что если этот пользователь потеряет доступ к окончательному, несостоявшийся токен доступа, скорее всего, перестанет работать.
Токен, который появляется в поле «Токен доступа», является вашим недолговечным токеном доступа.
2. Сгенерируйте маркер доступа с длительным сроком действия
Следуя этим инструкциям из документации Facebook, сделайте запрос GET
https://graph.facebook.com/v2.10/oauth/access_token?grant_type=fb_exchange_token&client_id= {app_id} & client_secret = {app_secret} & fb_exchange_token = {short_lived_token}
ввод идентификатора и секрета вашего приложения, а также кратковременного токена, созданного на предыдущем шаге.
Вы не можете использовать Graph API Explorer . По какой-то причине он застревает на этом запросе. Я думаю, что это потому, что ответ не JSON, а строка запроса. Поскольку это запрос GET, вы можете просто перейти по URL в вашем браузере.
Ответ должен выглядеть так:
{"access_token": " ABC123 ", "token_type": "bearer", "expires_in": 5183791}
«ABC123» будет вашим долгожданным токеном доступа. Вы можете поместить его в Access Token Debugger для проверки. Под «Истекает» должно быть что-то вроде «2 месяца».
3. Получить идентификатор пользователя
Используя маркер долговременного доступа, сделайте запрос GET для
https://graph.facebook.com/v2.10/me?access_token= {long_lived_access_token}
id
Поле ваш идентификатор учетной записи. Вам понадобится это для следующего шага.
4. Получить постоянный токен доступа к странице
Сделать запрос GET
https://graph.facebook.com/v2.10/ {account_id} / accounts? access_token = {long_lived_access_token}
Ответ JSON должен иметь data
поле, под которым находится массив элементов, к которым у пользователя есть доступ. Найдите элемент для страницы, с которой вы хотите получить токен постоянного доступа. access_token
Поле должно иметь фишку ваш постоянный доступ. Скопируйте его и протестируйте в отладчике токенов доступа . В поле «Срок действия» следует указать «Никогда».