Получение «Ошибки проверки токена доступа» от Facebook для некоторых пользователей

#facebook #facebook-graph-api #facebook-oauth #facebook-permissions #facebook-stream-story

#Facebook #facebook-graph-api #facebook-oauth #facebook-разрешения #facebook-stream-story

Вопрос:

Я получаю следующую ошибку от Facebook при попытке опубликовать в потоке пользователей.

Error validating access token: The session has been invalidated because the user has changed the password or because auth.expireSession was called.

Рабочий процесс выглядит следующим образом:

  1. Авторизация с Facebook, запрашивающим scope=offline_access,publish_stream разрешения (если текущий пользователь еще не авторизовался)

  2. Выполните некоторую работу на сервере (занимает 5-10 минут)

  3. Попытка публикации в Facebook-потоке пользователя

Этот код работает для многих пользователей, но для некоторых пользователей я получаю Error validating access token ошибку. Это начало часто происходить несколько недель назад, затем, казалось, прекратилось, и теперь часто повторяется. Я, конечно, не звоню auth.expireSession со своей стороны, и кажется маловероятным, что несколько пользователей будут менять свой пароль в течение 5-10 минут с момента авторизации до публикации. Кто-нибудь знает, что может быть причиной этого?

Комментарии:

1. Я не уверен, но, возможно, пользователь «удалил» разрешение на публикацию потока из вашего приложения? также всегда полезно обновить свой, access_token даже если он взят с offline_access .

2. Отслеживаете ли вы обратный вызов деавторизации, чтобы узнать, удаляются ли пользователи?

3. @Jason Я не отслеживаю, но кажется маловероятным, что пользователь предоставит доступ к моему приложению, а затем запретит доступ в течение следующих 5-10 минут. Кажется еще более маловероятным, что множество пользователей сделают то же самое в течение нескольких дней. В любом случае, проблема, похоже, устранена, поэтому я предполагаю, что это была временная ошибка FB.

Ответ №1:

Каждый раз, когда вы получаете эту ошибку, вы должны запускать пользователя обратно через поток авторизации. Существует много причин, по которым либо пользователь, либо мы аннулируем сеанс. У нас есть руководство по этому вопросу наhttps://developers.facebook.com/blog/post/500

Комментарии:

1. Спасибо за ответ. На самом деле это перестало происходить через несколько дней после запуска. Однако повторная авторизация пользователя в этом случае не сработает, поскольку публикация происходит как часть фонового процесса.

2. вашему приложению все еще необходимо учитывать этот сценарий. вы можете отправить пользователю электронное письмо, что угодно, чтобы снова запустить их через поток авторизации.

3. Предоставленная вами ссылка недоступна.