Как увеличить время истечения токена доступа с помощью fb_exchange_token с OAuth 2.0 - PullRequest
0 голосов
/ 10 февраля 2012

Я использую FB.login для входа в Facebook на моем веб-сайте, и он работает.

Я могу получить accessToken с ответом. AuthResponse.accessToken легко.

Сессия действительна в течение 2 часов. Из того, что я прочитал, я понимаю, что с помощью fb_exchange_token вы можете увеличить его до 30 или 60 дней (я не уверен, какие именно, я видел оба числа)

Вопрос 1: Это выполнимо в Javascript? Нужно ли предоставлять секрет приложения (что я не хочу делать в Javascript, потому что каждый будет иметь к нему доступ)? Может ли кто-нибудь предоставить этот фрагмент кода?

Я планирую отправить недавно приобретенный расширенный токен в PHP с использованием ajax, а затем использовать его для вызовов PHP FQL, которые я делаю. В настоящее время я делаю:

$facebook = new Facebook(array('appId' => $app_id,'secret' => $app_secret));

$fql = 'SELECT first_name, last_name, movies, tv, FROM user WHERE uid =' . $uid;

$param = array('method' => 'fql.query','query' => $fql,'callback' => '');

$fqlResult = $facebook->api($param);

Вопрос 2: Вероятно, это вопрос новичка, но как мне использовать новый токен доступа, отправленный ajax в коде PHP выше? В настоящее время я явно не использую токен доступа, и все работает (до истечения 2 часов).

Заранее спасибо за помощь,

Regis

1 Ответ

1 голос
/ 10 февраля 2012

Когда вы получаете токен доступа из Facebook, вы должны отправить его обратно на сервер, после чего вы можете расширить его, не беспокоясь о раскрытии ключа и секрета вашего приложения.

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

$facebook->setAccessToken($access_token)

Все ваши вызовы API будут выполняться как зарегистрированные пользователи.

...