2009-03-05 14 views
10

Używam Facebookera z Railsami do połączenia mojej aplikacji z Facebookiem. Mogę skierować użytkownika przez proces autoryzacji i proces przyznawania dostępu offline do mojej aplikacji.Uzyskanie dostępu offline do pracy z Facebookiem

W jaki sposób mogę uzyskać dostęp do informacji w trybie offline? Czy istnieje sposób na żądanie session_key, który nie wygasa, mogę go użyć w późniejszym czasie, o ile użytkownik nie odwołał uprawnień do mojej aplikacji na Facebooku?

Każda pomoc bardzo ceniona. Porada nie musi być specyficzna dla szyn.

Odpowiedz

0

EDYCJA: apparently, przyznanie "offline_access" nadal daje (i będzie to nadal robić) nieskończony klucz sesji. po prostu zapisz ten specjalny klucz i użyj go w swoim wywołaniu do Status.get, itp., zobacz przykład here dla przykładu kodu (PHP).

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

wiele wywołań API nie wymagają już kluczy sesyjnych

więc jeśli aplikacja jest przyznawana offline_access, można użyć API zwraca listed here bez session_key.

A my się zmieniamy więcej metod więc nie będzie potrzebował klucza sesyjnego zrobić coś, gdy użytkownik jest zalogowany, podoba wysłać powiadomienie.

+0

Dzięki za informacje o funkcjach niewymagających klucza sesji. Niestety potrzebne mi metody wymagają klucza session_key, który nie wygasa. – Mattew

+0

jakie to by było metody? –

+0

Metoda User.getSession. Próbuję odzyskać ich strumień aktualizacji statusu. – Mattew

2

Po uzyskaniu dostępu do klucza sesji uzyskanego w parametrach HTTP POST z Facebooka (fb_sig_session_key) dostęp do trybu offline będzie bezskuteczny.

Możesz sprawdzić, czy masz taki klucz, sprawdzając parametr fb_sig_expires, jeśli jest to "0", to klucz sesji nie ma ważności.

Jeśli masz auth_token następnie możesz zadzwonić getSession dostać klucz sesji i sprawdzić wygasa pola:

var auth = _auth.getSession(AuthToken); 
string sessionKey = auth.session_key; 
long uid = auth.uid; 
bool expires = auth.expires > 0; 
+2

Cześć Mark - dzięki za informację. Czy wiesz, czy klucz sesji zmienia się po uzyskaniu dostępu w trybie offline? W serwisie Facebooker klucz sesji, który otrzymuję, wydaje się być taki sam jak ten, od którego zacząłem, i ma wygaśnięcie. Matt – Mattew

0

Gdy pojawi się nieaktywny uprawnienia dostępu od użytkownika, sztuką jest, aby zadzwonić z filter_key parametr "sieci".

W PHP, to jest:

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

Spróbuj, to działa ....

1

właśnie popełnił tutorial na moim blogu o wyjaśnienie krok po kroku, w jaki sposób uzyskać dostęp nieaktywny użytkownika dane. Zakłada, że ​​pracujesz z RoR i wtyczką na Facebooku.

Powiązane problemy