Кажется, есть много вопросов о том, почему ваш токен истек бы так быстро.Я думаю, что могу пролить свет на это.Вот несколько сценариев, которые я нашел, которые вызывают это:
Существует очевидный;пользователь изменил свой пароль.С этим ничего не поделаешь.Им нужно будет повторно авторизовать ваше приложение.Остальные сценарии имеют дело с токенами страниц, которые похожи на токен для профиля пользователя, за исключением того, что они запрашивают /me/accounts
с токеном пользователя действительного администратора страницы.Срок их действия истекает гораздо чаще.
Кажется, что если ЛЮБОЙ администратор страницы изменяет свой пароль (не обязательно тот, кто использует токен), это может привести к истечению срока действия токена.Кроме того, если в вашей системе есть несколько страниц с одним и тем же администратором, вызов /me/accounts
часто обновляет ВСЕ токены для страниц, которые администрирует этот пользователь.Это означает, что если вы подключаете новую страницу для пользователя с существующими страницами, вам нужно будет обновить существующие токены страницы новыми, предоставленными /me/accounts
.
Наконец, способ, которым я с этим справляюсь,моя система должна хранить пользователя-администратора и токен как родительский токен страницы в моей базе данных.Таким образом, когда мне нужно переподключить страницу или добавить новую страницу, система может искать и обновлять любые связанные токены страницы, полученные от /me/accounts
.Это также позволяет автоматически пытаться обновить токен, вызывая /me/accounts
, когда вы получаете исключение токена с истекшим сроком действия.
Надеюсь, что это поможет!