facebook offline_access error - PullRequest
       2

facebook offline_access error

0 голосов
/ 14 июня 2011

для доступа к информации о пользователях, когда они не в сети, пользователь предоставляет offline_access, и я сохраняю их так:

$session=$facebook->getSession();
if($session)
{
    $access_token=$session['access_token'];

}

$qq=sprintf("insert into `tokens`(`uid`,`access_token`) values ('%s','%s')",$myid,$access_token);
$res1=mysql_query($qq);

но когда я пытаюсь использовать graph.facebook.com для сбора информации от них, иногда это работает, а иногда нет и выдает мне эту ошибку:

Ошибка при проверке токена доступа: сеанс не соответствует текущему сохраненному сеансу. Это может быть связано с тем, что пользователь изменил пароль с момента создания сеанса или Facebook изменил сеанс по соображениям безопасности

я использую graph.facebook.com/[function]?access_token=[The токен доступа, сохраненный в БД]

в чем моя вина?

1 Ответ

2 голосов
/ 14 июня 2011

Во-первых, токен доступа с разрешением offline_access может стать недействительным, если:

  • пользователь отменяет авторизацию вашего приложения в своих настройках конфиденциальности
  • пользователь меняет свой пароль

Вы можете прочитать сообщение в блоге Facebook о том, как обращаться с просроченными токенами .

Тогда не стоит:

  • создает URL-адреса API напрямую с URL-адресами, как вы делаете это при вызове graph.facebook.com/[function]..., но для выполнения вызовов API используйте функции PHP PHP SDK.
  • использовать версию PHP SDK, которую вы используете ($facebook->getSession() от v2.x) устарела, это может быть причиной ваших проблем.

Вот ответ на Stackoverflow о , как обрабатывать offline_access токены доступа с помощью PHP PHP SDK v3.x .

Надеюсь, это поможет!

...