fb_exchange_token для PHP работает только после удаления пользователем приложения - PullRequest
7 голосов
/ 23 января 2012

Для приложения Facebook, которое я создаю, мне требуется больше времени, чем по умолчанию, 1 - 2 часа.

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

В дорожной карте разработчика говорится о "fb_exchange_token", который продлит срок действия токена доступа до 1 месяца.

Поток:

  • Логин пользователя

  • Вызов ... / oauth / access_token? ... & grant_type = fb_exchange_token & fb_exchange_token = ...

  • токен доступа теперь 1 месяц

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

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

Я добавил правильные дополнительные параметры / параметры миграции для приложения Facebook, как описано в документации. Похоже, в этом нет особой помощи, кроме блога разработчика.

Любая помощь будет принята с благодарностью.

К вашему сведению: я использую самый последний 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}

Еще раз спасибо

Ответы [ 2 ]

1 голос
/ 28 января 2012

У меня та же проблема. Еще одна вещь, которую я заметил: пользователи, которые ранее имели разрешение offline_access, также могли получать токены на 60 дней, а также новые авторизованные пользователи.

Я открыл ошибку, чтобы попытаться получить ответ от FB: https://developers.facebook.com/bugs/241373692605971

0 голосов
/ 30 октября 2012

Я столкнулся с этой проблемой и обнаружил, что сейчас у меня работало только удаление приложения из моего профиля и повторное добавление приложения, что позволило мне сгенерировать токен на 60 дней.

...