2013-06-07 1 views
0

Внезапно логин facebook на моей веб-странице перестает работать - он возвращает сообщение invalid access token. Несколько месяцев назад он работал хорошо. Не могли бы вы помочь? Я использую PHP следующим образом:Facebook login - недействительный токен доступа

$facebook = new Facebook(array(

    'appId' => 'xxx', 

    'secret' => 'xxx', 

)); 



$userfb = $facebook->getUser(); 

if ($userfb) { 

    try { 

     $user_profile = $facebook->api('/me'); 



    } catch (FacebookApiException $e) { 

     $userfb = null; 

    } 

} 


if ($userfb==null) { 



    $args = array('scope' => 'email'); 

    echo "<tr>"; 

    echo '<td><a href="' . $facebook->getLoginUrl($args) . '"><img src="fblogin.png" border="0" width="60" height="20"></a></td>'; 


    echo "</tr>"; 



} 
+0

Проверьте свою учетную запись приложения на Facebook. Многие приложения нуждаются в изменениях из-за изменения API в Facebook. У вас могут быть сообщения в приложении на Facebook. – Leeish

ответ

1

Все Facebook лексемы истекает в какой-то момент (http://developers.facebook.com/docs/facebook-login/access-tokens/), но если пользователи разрешили приложение, вы можете иметь SDK Facebook регенерировать маркер доступа в пределах вашего улова блока.

+0

Благодарим за ответы, к сожалению, в приложении mz на Facebook нет сообщения. Я также попытался удалить приложение на facebook и создать его снова, но это не помогло. Как я могу восстановить SDK токена доступа в блоке catch, пожалуйста? –

+0

, если вы получаете исключение авторизации, просто переадресовывайте обратно на свой логин со страницей fb. Таким образом, токен будет повторно инициализирован fb, и ваше приложение сможет продолжать нормально функционировать. – NullHappens

+0

Спасибо, я мог бы быть глупым, но что именно вы подразумеваете под «перенаправлением обратно на ваш логин с fb-страницей»? Что мне делать, пожалуйста? Большое спасибо –