Получение offline_access для работы с Facebook - PullRequest
10 голосов
/ 06 марта 2009

Я использую Facebooker с Rails для подключения моего приложения к Facebook. Я могу направить пользователя через процесс авторизации и через процесс предоставления автономного доступа к моему приложению.

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

Любая помощь с благодарностью. Советы не должны быть специфическими для рельсов.

Ответы [ 4 ]

2 голосов
/ 11 марта 2009

После того как вы запросите и получите автономный доступ к сеансовому ключу, который вы получаете в параметрах HTTP POST из Facebook (fb_sig_session_key), срок его действия не истечет.

Вы можете проверить, есть ли у вас такой ключ, проверив параметр fb_sig_expires, если это "0", то у ключа сеанса нет срока действия.

Если у вас есть auth_token, вы можете вызвать getSession, чтобы получить ключ сеанса и проверить поле expires:

var auth = _auth.getSession(AuthToken);
string sessionKey = auth.session_key;
long uid = auth.uid;
bool expires = auth.expires > 0;
1 голос
/ 10 сентября 2009

Я только что написал учебник в своем блоге с пошаговым объяснением того, как получить доступ к данным офлайн-пользователя. Предполагается, что вы работаете с RoR и плагином Facebooker.

0 голосов
/ 05 сентября 2009

Как только вы получаете от пользователя разрешение на автономный доступ, уловка заключается в вызове с параметром filter_key 'network'.

В PHP это:

$feed = $facebook->api_client->stream_get($uid, '', '', '', 20, 'network', '');

Попробуй, все работает ....

0 голосов
/ 06 марта 2009

РЕДАКТИРОВАТЬ: очевидно , предоставление «offline_access» по-прежнему дает (и будет продолжать делать это) бесконечный сеансовый ключ. просто сохраните этот специальный ключ и используйте его при вызове Status.get и т. д., см. здесь для примера кода (PHP).

http://wiki.developers.facebook.com/index.php/New_Design_User_Login:

многие вызовы API больше не требуют сеансовые ключи

поэтому, если вашему приложению предоставлен offline_access, вы можете использовать вызовы API , перечисленные здесь без ключа сеанса.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...