2009-10-22 19 views
5

Szukam rozwiązania podobnego do iPhone'a Facebook Connect (https://github.com/facebook/facebook-ios-sdk) dla platformy BlackBerry. Zasadniczo potrzebuję, aby moi użytkownicy uwierzytelniali się na Facebooku z poziomu natywnej aplikacji BlackBerry (więc nie jest to mobilna aplikacja internetowa). Czy istnieje biblioteka, z której mógłbym skorzystać, a jeśli nie, jakie będzie właściwe podejście, aby to osiągnąć?Facebook Connect dla BlackBerry

Z góry dziękuję!

+0

Czy to działa? Byłbym wdzięczny za pomoc. Dzięki. – lostInTransit

+0

lostInTransit - jeszcze nie (wykonałem jakąś nieoczekiwaną pracę). Kiedy już to uruchomię, zaktualizuję to tutaj. – Gadi

Odpowiedz

4

Opcje dla BlackBerry to:

+0

Coldice - dzięki. Chociaż API interakcji SMS i FB Connect for Mobile Web nie odpowiadają moim potrzebom, myślę, że opcja przeniesienia JavaFB zadziała (znalazłem jeszcze bliższy projekt - http://fbconnect-android.googlecode.com/ Android Facebook), Spróbuję tego podejścia. – Gadi

+0

Nie ma za co! –

+0

Czy możesz zaktualizować linki? – tipycalFlow

3

udało mi się przejść przez Uwierzytelnianie Facebook Connect w mojej aplikacji BB. Po złamaniu głowy przez trzy dni zdałem sobie sprawę, że to adres URL jest winowajcą!

Zasadniczo są to co trzeba (zakładając, że rozwijają się przez 4,5 platformy):

  1. pomocą przeglądarki pole, zrobić posta do http://m.facebook.com/login.php (mobilnej wersji Facebooka) uboczny wszystkie niezbędne argumenty za Odpowiedniki aplikacji komputerowych (jednym z wyzwań jest poprawne generowanie sygnatur).
  2. Po pomyślnym przyznaniu dostępu przez użytkownika przechwycić adres URL ekranu powodzenia. Otrzymasz swój auth_token.
  3. Wykonaj POST dla serwera REST, aby uzyskać klucz sesji i tajny klucz, biorąc pod uwagę otrzymany auth_token.
  4. Zapisz zwrócony klucz sesji i tajny klucz, kontynuuj i wholla! Twoja aplikacja działa.

Opracowuję niestandardowy obiekt LoginScreen i FacebookFacade, aby uwzględnić pierwsze trzy powyższe kroki, jeśli ktokolwiek jest zainteresowany ponownym użyciem mojego kodu. Prawdopodobnie będzie to GPL;)

+0

Hiii ... będzie bardzo wdzięczny, jeśli możesz podać mi kod Yorora ... mój e-mail to [email protected] – tek3

+0

Jeszcze jedno chcę zapytać ...jak przechwycić adres URL ekranu powodzenia w celu uzyskania auth_token ... – tek3

+0

Za pomocą BrowserContent można przechwycić adres URL za pomocą getURL() i przeanalizować odpowiedź odpowiednio. Wkrótce opublikuję pełny kod, ponieważ trochę go sprzątam. – Eki

1

Afzal, miałem podobny problem i odkryłem, że faktycznie miałem problem z łańcuchem połączenia. Można spojrzeć na poniższy link, istnieje pewne wyjaśnienie i kod dla tworzenia prawidłowego ciąg połączenia http://www.localytics.com/blog/post/how-to-reliably-establish-a-network-connection-on-any-blackberry-device/

i wystarczy dodać ciąg połączenia do FetchThread gdzie otwiera połączenie:

connection = (httpconnection) Złącze .open (absoluteUrl + getConnectionString());

+0

Guy Ephraim, Jak już wspomniałem, wszystkie inne linki na stronie połączenia Facebook działają oprócz przycisku logowania KIEDY wpisano poprawny adres e-mail i hasło. Używam "; inteface = wifi" w każdym adresie URL. Nie mam pojęcia, co jest nie tak. Proszę o pomoc. Afzal – Afzal

+0

OK Myślę, że teraz to działa (dodałem również ciąg połączenia do klasy FacebookFacade). Widzę ekran z przyciskiem "Lista znajomych", ale kiedy go debuguję, aplikacja nie ma "tajnego" z Facebooka. Ma "session_key", ale żaden tajny nie został zwrócony przez Facebook. Odpowiedź, którą otrzymuję, jest następująca: "session_key": "XXXXXXXXXX-XXXX", "uid": XXXXX, "wygasa": 0, "base_domain": "ABC.com" ale bez tajemnic! wszystko w porządku? co jeśli ja też potrzebuję sekretu? mogę to zdobyć? – Afzal

+0

Zrobiłem to! Dodałem parametr arguments.put ("generate_session_secret", "true"); w getSession (String token) i usunięty session_secret z podpisu. Dzięki chłopaki, wszyscy jesteście WSPANIAŁĄ pomocą !! Afzal – Afzal

Powiązane problemy