Facebook API - получение токена, который никогда не истекает
Я хотел бы создать токен, который никогда не истечет.
У меня есть разрешение "manage_pages", и если у пользователя есть "fanpage", токен никогда не истечет.
Но если у пользователя нет созданных фан-страниц, токен истекает через 2 месяца.
Я использую новейшие API (PHP SDK).
Это мой логин:
$session = $helper->getSessionFromRedirect();
$token = $session->getToken();
И после этого я делаю что-то вроде этого:
$accounts = new FacebookRequest($session,
'GET',
'/me/accounts?fields=picture,access_token,name');
Было бы неплохо, если бы у некоторых из вас была идея, как я могу получить токен, который никогда не истекает, хотя у пользователя нет фан-страницы
2 ответа
Единственными токенами, которые действительны навсегда, являются токены доступа к приложениям и маркеры доступа к расширенным страницам. Вы не можете получить токен пользователя, который действует вечно, и он вам никогда не понадобится. Если пользователь не посещал приложение более 2 месяцев, он, скорее всего, больше не использует приложение. Вы можете легко обновить токен пользователя, используя FB.getLoginStatus каждый раз, когда пользователь посещает ваше приложение.
Вот все, что вам нужно знать о токенах доступа:
Если вам необходим доступ к API Graph, вы можете вызывать API Graph без необходимости использовать токен доступа к приложению. Как уже упоминалось в Facebook:
Существует еще один метод для вызова API Graph, который не требует использования сгенерированного токена приложения. Вы можете просто передать свой идентификатор приложения и секрет приложения в качестве параметра access_token при вызове: http://graph.facebook.com/endpoint?key=value&access_token=app_id|app_secret Выбор использовать сгенерированный токен доступа вместо этого Метод зависит от того, где вы прячете свой секрет приложения.
Вы можете прочитать больше об этом здесь:
https://developers.facebook.com/docs/facebook-login/access-tokens