Привет, я видел ответ здесь http://facebook.stackoverflow.com/questions/8982025/how-to-extend-access-token-validity-since-offline-access-deprecation и дал ему уйти, но у меня проблемы с его работой.facebook, расширяющий токен доступа
У меня есть токен с истекшим сроком действия - но obviosuly просто нужен способ автоматического обновления. это возможно кто-то может проскользнуть мне код
В настоящее время я пытаюсь это
try {
$result = $facebook->api(
'/me/permissions/',
'get',
array('access_token' => $token)
);
}
catch(FacebookApiException $e) {
echo "token invalid";
$facebook->setAccessToken($token);
echo $facebook->getExtendedAccessToken();
}
Но я все еще получаю
token invalid{"error":{"message":"Error validating access token: Session has expired at unix time 1338858000. The current unix time is 1338985046.","type":"OAuthException","code":190,"error_subcode":463}}
Любая помощь. Благодаря Richard
Привет спасибо за вашу помощь я получил расширенный материал для работы, и я понять немного больше - У меня есть вопрос сказать последующий мой маркер становится недействительным - что делать тогда? Я все еще вхожу в фейсбук, и я дал разрешение на свое приложение, поэтому все, что мне нужно, - это новый ключ.
Я попытался это
$facebook = new Facebook(array(
'appId' => FACEBOOKAPPID,
'secret' => FACEBOOKSECRET,
'cookie' => true,
));
$url = $facebook->getLoginUrl(array('canvas'=>1,'fbconnent'=>1,'scope'=>'offline_access,publish_stream,email,user_about_me,user_birthday,user_website'));
file_get_contents($url);
$fb_session = $facebook->getUser();
echo $fb_session.'<br />';
$token = $facebook->getExtendedAccessToken();
echo $token.'<br />';
Как мне кажется, что вам нужно «логин» на Facebook, чтобы получить подробную информацию еще раз, но мне кажется, что вы не можете использовать file_get_contents, как facebook требует печенье, которое на вашей машине. Я пытаюсь сделать это на лету, чтобы не беспокоить пользователя с помощью всплывающих окон, а также они уже дали разрешение на использование приложения.
Любые идеи? Richard
О, и это просто не работает.
Вы не можете продлить недопустимый знак, только действительные лексемы расширяемый –
Интересно так, как вы продлить действующий один? и действительно, как они становятся недействительными. –
Срок действия токена недолгосрочного доступа действителен в течение одного-двух часов, после чего они истекают, и вам нужно будет получить новый. – CBroe