Для приложения Facebook, которое я создаю, мне требуется больше времени, чем по умолчанию 1 – 2 часа.
Я не хочу использовать «offline_access», так как он отключает пользователей от подписки на приложение и теперь обесценивается.
На дорожной карте разработчика говорится о «fb_exchange_token», который продлит срок действия токена доступа до 1 месяца.
Поток:
Вход пользователя
Вызовите … / oauth / access_token? … & grant_type = fb_exchange_token & fb_exchange_token = …
Это отлично подходит для всех новых пользователей и для пользователей, которые удаляют приложение из своей учетной записи Facebook и повторно добавляют его, но для нашей существующей клиентской базы это не работает.
Я пробовал все виды, включая добавление других разрешений в скрипт входа, чтобы заставить окно проверки подлинности, но не повезло.
Я добавил правильную настройку расширенного / переноса для приложения Facebook, как описано в документации. Похоже, что это не очень помогает, кроме блога dev.
Любая помощь будет оценена.
FYI: Я использую самый современный PHP SDK, а код для получения нового токена доступа – это стандартный запрос cURL, указывающий на следующий URL:
https://graph.facebook.com/oauth/access_token?client_id= {APPID} & client_secret = {APPSECRET} & grant_type = fb_exchange_token & fb_exchange_token = {ACCESSTOKEN}
еще раз спасибо
У меня такая же проблема. Еще одна вещь, которую я заметил: пользователи, которые ранее имели разрешение offline_access, также могли получить 60-дневные токены, а также новые авторизованные пользователи.
Я открыл ошибку, чтобы попытаться получить ответ от FB: https://developers.facebook.com/bugs/241373692605971
Я столкнулся с этой проблемой и обнаружил, что то, что сейчас работает только для меня, – это удаление приложения из моего профиля и повторное добавление приложения, и это позволило мне создать 60-дневный токен.