2012-03-09 3 views
0

Я очень новичок в использовании Graph API, и я только что прочитал о будущем отказе от разрешения offline_access, и это проблема для меня.Использование графического API без входа в систему

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

Насколько я знаю, когда вы отправляете запрос на некоторую информацию FB, и вы передаете токен доступа, чтобы быть способным действовать от имени пользователя, который «дает» вам этот токен (я прошу пользователей разрешить мои приложение с потоком на стороне клиента, а затем я сохраняю токен доступа для будущих запросов), и нет пользователя, зарегистрированного в FB, ошибка ocurrs и запрос завершается с ошибкой.

В моем случае, когда я отправляю запрос информации в FB, невозможно, чтобы пользователь зарегистрировался в FB (я не знаю, как объяснить причину на английском языке, но это невозможно). Итак, пока я не знаю, я использую токены с разрешением offline_access, а затем могу отправлять запросы от имени тех пользователей, которые разрешают приложение для автономного доступа.

Что я хочу знать, это то, что это невозможно, если вы знаете, что разрешение offline_access будет устаревшим. Я хочу сказать, что я хочу знать, есть ли решение, которое позволяет мне отправлять запросы от имени пользователя без его регистрации в FB (мне нужен токен доступа, который выживает до выхода из системы этого пользователя после того, как он дает разрешение на приложение) ,

Извините за мой плохой английский, и я надеюсь, вы сможете меня понять.


Я постараюсь сделать мой вопрос в лучшую сторону:

То, что я хочу сделать, это приложение, которое пользователь получает доступ с телевизора и не браузер доступен для использования. Из-за этого я не знаю, как я могу перенаправить пользователя в FB для аутентификации и авторизации приложения. Итак, что я делаю, это подготовить «веб-сайт конфигурации», где пользователи могут перейти и авторизировать приложение для использования в автономном режиме (перенаправляя их в FB и запрашивая у них разрешение в автономном режиме). Я храню автономные токены, а затем, когда пользователи обращаются к приложению, я могу делать запросы Graph API с этими токенами, и я могу получить информацию FB даже если нет пользователя в FB (нет браузера или чего-то еще, где пользователь может войти в систему Facebook).

С этого момента разрешение offline_access будет устаревшим. Итак ... Как я могу сделать вызов API Графа без зарегистрированного пользователя и без разрешения offline_access?

Я попытался использовать новую конечную точку, чтобы получить новый токен, когда получаю сообщение об ошибке, в котором говорится, что токен недействителен, поскольку пользователь вышел из FB, но ответ этой конечной точки точно такой же: токен, который я отправляю с новым запросом, недействителен, поскольку пользователь вышел из системы, и я не могу получить новый токен, если пользователь не войдет в систему снова. Но я не могу перенаправить пользователя в FB для входа в систему каждый раз, когда он обращается к приложению, из-за того, что пользователь не использует браузер.

ответ

0

Нет, ваши токены доступа не должны истекать после выхода пользователя из системы. Токи доступа истекают через определенное время, но вы можете молча продлить их на 60 дней каждый раз, когда пользователь взаимодействует с вашей заявкой: https://developers.facebook.com/docs/offline-access-deprecation/

+0

Спасибо за ответ! Если то, что вы говорите в своем ответе, правильно, я делаю что-то неправильно, но я не знаю, как это сделать. Я активирую опцию перехода «Неактуальный автономный доступ:» в настройках моего приложения. Затем я делаю этот тест: 1) Я подключаюсь к своему приложению для авторизации приложения (без разрешения offline_access, поскольку он устарел). Приложение сохраняет полученный токен. 2) Я выхожу из Facebook, чтобы проверить, может ли токен выдержать выход из системы. 3) Я делаю запрос к информации FB, используя токен, полученный на шаге 1, и ответ FB сообщает, что токен недействителен, поскольку пользователь вышел из системы. Что не так? –

+0

Вы используете клиентскую OAuth, я думаю. Прочтите раздел «_Alient-side OAuth и продление доступа к концу срока действия_Token через новую конечную точку_» по ссылке выше, это должно помочь. –

+0

Да, этот раздел был первым, я думаю, это поможет мне. Но я пытаюсь использовать эту новую конечную точку, и ошибка все еще происходит. Если у меня есть токен доступа без разрешения в автономном режиме (потому что он будет устаревшим), а затем выход пользователя из FB, и я пытаюсь сделать запрос с этим токеном, возникает ошибка «пользователь имеет выход», и если я попытаюсь отправьте запрос на эту конечную точку для расширения этого истекшего токена, я получаю ту же ошибку, что и ответ (я говорю, что токен недействителен, поскольку пользователь вышел из системы). –

Смежные вопросы