Токен доступа Facebook, срок действия которого истекает при автономном доступе

#facebook #oauth #access-token #facebook-oauth

#Facebook #oauth #токен доступа #facebook-oauth

Вопрос:

У меня есть приложение для управления уведомлениями пользователей Facebook, приложение запрашивает offline_access, а также разрешения на управление уведомлениями. Мои журналы заполняются ошибками Facebook, я понимаю, что произойдет ошибка смены пароля, но я не понимаю, почему я получаю эти ошибки:

Ошибка Facebook: ошибка проверки токена доступа: сеанс истек во время unix 1320012000. Текущее время unix — 1320191317. Ошибка Facebook: (# 200) Для запроса уведомлений пользователя требуется разрешение «manage_notifications».

Они происходят слишком часто, чтобы пользователи просто отклоняли разрешения, а токены доступа, срок действия которых истекает, имеют 0

Ответ №1:

Для дальнейшего использования offline_access был удален, теперь можно получить access_token со сроком службы 2 месяца

https://developers.facebook.com/roadmap/offline-access-removal/

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

1. Токены истекают через 2 месяца как мы можем продлить этот период времени через 60 дней без взаимодействия с пользователем?

2. Посмотрите здесь developers.facebook.com/docs/facebook-login/access-tokens Это выглядит так: «Даже токен доступа с длительным сроком действия в конечном итоге истечет. В любой момент вы можете сгенерировать новый токен с длительным сроком действия, отправив пользователя обратно в поток входа, используемый вашим приложением «, поэтому пользователю ничего не нужно делать, но ему все равно нужно открыть ваше приложение

3. @Luke возможно ли это, если мы сможем получить новый токен доступа до истечения срока действия, но без взаимодействия с пользователем, т.е. без повторного входа в систему!

Ответ №2:

Пытаетесь использовать токен пользователя? После запроса автономного доступа вам следует «войти» в свое приложение, чтобы получить собственный токен доступа, когда вы хотите что-то сделать, а не использовать сохраненный токен пользователя. Если это то, что вы делаете.

Прокрутите вниз до части на этой странице с надписью «Вход в приложение». Вот как вы должны делать что-то, когда пользователя нет, а не сохранять и использовать токен пользователя.

https://developers.facebook.com/docs/authentication/

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

1. Я использую токен пользователя. Вы говорите, что я могу делать все, что мне нужно, с помощью моего токена входа в приложение, даже если я извлекаю пользовательские данные?

2. В значительной степени. Разрешение на доступ в автономном режиме означает, что пользователь предоставил вам разрешение на выполнение действий без своего токена. Вы можете использовать другой токен, выпущенный Facebook для вашего приложения. Нет необходимости менять токены местами для каждого пользователя, с которым вы хотите что-то сделать.

3. Это неверно — они должны использовать токен доступа пользователя — токен доступа пользователя offline_access имеет длительный срок действия. Срок его действия может истечь, если пользователь деавторизирует приложение, меняет пароль или блокируется по соображениям безопасности. Он также аннулирует все существующие токены, если секрет приложения изменен, но в остальном все должно быть в порядке

4. Вы должны использовать токен пользователя, использование токена приложения приводит к: {"error":{"message":"A user access token is required to request this resource.","type":"OAuthException"}}