fb_exchange_token for PHP only working once user removees app

fb_exchange_token в PHP не работает.

Для приложения 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}

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

7
задан Nag 23 January 2012 в 12:39
поделиться