Czego najlepiej użyć aby zaimplementować w aplikacji railsowej Facebook connect. Wiem że API facebooka dosyć dynamicznie się zmienia, a w dokumentacji jest burdel, dlatego chciałem się upewnić jak to aktualnie się robi. Facebooker wydaje mi się troche dużą kobyłą do takiego zadania. Potrzebuje poprostu pewnych danych z profilu facebookowego użytkownika jak email czy avatar, na potrzeby rejestracji.
Poczekaj do wtorku, kolega właśnie użył Facebookera do rejestracji/logowania przez FBConnect, tylko jeszcze musi testy naprawić
spoko, dzięki
Może się przydać: http://rubyonrails.pl/forum/t2910-Cyty.pl (zresztą widzę, że wypowiadałeś się w tamtym temacie
Kiedyś mniej więcej udało mi się coś tam odpalić przy użyciu Facebookera ale miałem problem z odczytem przykładowo emaila użytkownika, mimo że ustawiłem go w perms. Popełniłem też małą aplikacje na canvas przy użyciu Facebookera. Co tutorial to używanie FB w aplikacji wygląda inaczej, dlatego chciałem się upewnić jak aktualnie się to robi.
FB nie udostępni Ci maila użytkownika.
FB udostepni email usera, ostatnio to robilem, lecz trzeba zrobic taki myk.
- utworzyc aplikację FB do ktorej bedzie sie laczyla nasza aplikacja ( to chyba oczywiste )
- zaniechac pracy z Fabookerem i przejsc na API
inicjacja:
- prawa “publish_stream” sa po to aby mozna bylo zassac email
- nastepnie by pobrac email wystarczy: <%= fgraph_user[‘email’] %>
mam nadzieje ze niczego nie pomieszalem, powinno to zadzialac
pozdrawiam
Wygląda interesująco. Rozumiem że Facebooker używa REST API, którego Graph API jest jakby następcą ? Jak to sie ma do Open Graph ?
niestety ja nie znam odpowiedzi na Twoje pytanie, potrzebowalem czegos po prostu by zadzialalo. Udalo sie i dalej nie drazylem tematu.
pozdrawiam
Przede wszystkim witam wszystkich na forum.
perms=“publish_stream”
mam nadzieje ze niczego nie pomieszalem
Lekko tak => perms=“email”.
W zasadzie wszystko opisane jest tutaj fajnie http://developers.facebook.com/docs/authentication/permissions
Z tego co widzę http://github.com/jugend/fgraph korzysta już z Open Graph.
zantor, czy korzystałeś już z niego?
Czy dane sesji FB użytkownika odczytujesz po stronie Ruby tym fgraphem, czy w JS i przekazujesz do Ruby?
Jeśli po stronie ruby to w tej linijce
FB.init({appId: ‘ID APLIKACJI’, status: true, cookie: true, xfbml: true});
warto już przekazać sesję odczytaną w ruby tak jak w przykładzie dla php pokazują:
http://github.com/facebook/php-sdk/blob/master/examples/example.php
FB nie udostępni Ci maila użytkownika.
Ano tutaj do jakiegoś czasu tylko proxy maila udostępniał. Ale jest już możliwość poproszenia o zgodę na email co w sumie jest bardzo dobre przy integracji ze stronami.
[quote=Snafu]Z tego co widzę http://github.com/jugend/fgraph korzysta już z Open Graph.
zantor, czy korzystałeś już z niego?[/quote]
o ile czegos nie mieszam, to nie korzystalem z niego bezposrednio, bo potrzebowalem de facto wylacznie przechwycic imie usera oraz email
plugin nawet spoko działa, mimo że miałem małe problemy przy instalacji, niestety adresu email nie udało się pobrać. ale spoko, bardziej mi w sumie zalezy na wygodnym uzywaniu fb connect
jeszcze taki plugin znalazłem jeśli kogoś by interesował open graph http://github.com/godfat/rest-graph
W ustawieniach aplikacji, w karcie Migrations należy ustawić ustawić ‘New SDKs’ na Włączone. Stare pozwalało defaultowo odczytać proxymaila. Ta zmiana pomaga prosić o pozwolenia już w nowy sposób, gdzie perms=‘email’ prosi o główny email osoby.
napotkałem mały problem podczas używania http://github.com/jugend/fgraph , aplikacja wywalała się gdy access token stawał się nieważny (np po wylogowaniu na stronie Facebooka). Dodałem zgodnie z sugestią autora obsługę przerwania w ApplicationController. Błąd dalej występował jeśli w widoku próbowałem dobrać się do wygasych danych, dodałem w kontrolerze wymuszenie wyjątku. Kasowanie cookie dodałem ponieważ wpadało w nieskończoną pętle. Wrzucam może komuś się przyda albo ktoś zasugeruje zgrabniejszy kod
[code=ruby]before_filter :check_facebook_oauth_valid #wymuszenie wyjątku
rescue_from FGraph::OAuthError do
flash[:notice] = “Your Facebook session has expired, please login again”
reset_session
cookies.delete “fbs_#{fgraph_config[‘app_id’]}”, :domain => “#{fgraph_session_cookies[‘base_domain’]}”
redirect_to root_url
end
private
def check_facebook_oauth_valid
fgraph_current_user if fgraph_logged_in?
end[/code]
Nie wiem czy w ogóle jest coś takiego możliwe, ale czy ktoś wie jak sprawdzić skryptem na serverze czy osoba odwiedzająca stronę jest równoczesnie zalogowana do FB ? Chciałbym wtedy wyświetlić trochę inne pola formularza, np do komentarzy.
Co do FB Connect za pomocą Facebookera: działa, ale żeby nie rozsypywał testów trzeba parę modułów ręcznie domixować do klas.
to tam nie było tego w gemie gotowego ?
To jest właśnie dziwne, bo niby jest i aplikacja (tryb development i production) z tym działa, natomiast w trybie test się te moduły nie domiksowują
mi po małych męczarniach udało się odpalić z open graph, użyty gem i kod który dodałem dwa posty wyżej. Próbowałem też dzis rozwiązać sprawę wygasłego tokena oauth dodając do permissions offline_access, pomogło ale czasem są błądy że tablica z danymi użytkownika jest pusta po odświeżeniu już jest ok, tak że będe musiał się jeszcze temu przyjrzeć i dać znać autorowi o takiej opcji.