Hej,
Korzystam z Koala do obsługi FB.
mam takie coś:
@graph = Koala::Facebook::API.new('TOKEN_PAGE')
@graph.put_connections("PAGE_ID/tabs","POST", :app_id => 'APP_ID')
kod powinien stworzyć taba do mojej app na mojej stronie
ale mam błąd
OAuthException: (#100) One and only one of params ‘tab’ or ‘app_id’ must be provided
jak zamienię TOKEN_PAGE na TOKEN_USER
to tez mam błąd
OAuthException: (#210) Subject must be a page.
Jak operuję na linku
https://graph.facebook.com/PAGE_ID/tabs?app_id=APP_ID&method=POST&access_token=TOKEN_PAGE
to działa, działa też na facebook w narzędziach developera ale coś z tym Koala źle zrobiłem pewnie…
Ma ktoś pomysł jak to rozwiązać. koniecznie chcę to zrobić przez Koale, chyba że macie lepszy pomysł.
O teraz mnie olśniło rozwiązanie to
@graph = Koala::Facebook::API.new('AAABwdtYjsyoBAMcg5584FYnZBkZBUiPKmcWWWoNZC2yjqE43ghoR9uTiFIhT3ErQYx45RrrPeOD0ZCvFgnmRIUh9lqRUw5KIlWwxtRW3GvbIEUWp0yB2')
@graph.put_connections("me", "tabs", :app_id => "123655701115690")
[quote=piotrstanek]O teraz mnie olśniło rozwiązanie to
@graph = Koala::Facebook::API.new('AAABwdtYjsyoBAMcg5584FYnZBkZBUiPKmcWWWoNZC2yjqE43ghoR9uTiFIhT3ErQYx45RrrPeOD0ZCvFgnmRIUh9lqRUw5KIlWwxtRW3GvbIEUWp0yB2')
@graph.put_connections("me", "tabs", :app_id => "123655701115690")
[/quote]
Operacje z wykorzystaniem Facebook Api pewnie pojawia sie nieraz w twojej aplikacji dlatego warto wyciagnac ta logike do osobnej klasy
http://pastie.org/5134098 -> napisane na kolanie
Napewno warto pokombinowac z przesylaniem ustawien i zastanowic sie o czym dana klasa powinna wiedziec
a masz gdzięś może usuwanie taba ? za pomocą Koala, bo trzeba przekazać id taba a ona jest dziwnie jakieś i mam niby komunikat ok(tzn nie błędów ale tab nie usunięty)
inne pytanie jak już jestem przy Koala to
jak, mam już taki tab zainstalowany użytkownik klika w niego odpala się app… (wszystko super działa)
jak za pomocą samego Koala (najlepiej bez js) wyśwetlić page_id na którym obecnie jesteśmy i id użytkownika…
jak by ktoś potrzebował to:
def index
session[:signed_request] = params[:signed_request] if params[:signed_request]
encoded_user_data = session[:signed_request]
payload = encoded_user_data.split(".")[1]
payload += '=' * (4 - payload.length.modulo(4))
decoded_json = Base64.decode64(payload)
@signed_data = JSON.parse(decoded_json)
@oauth_token = @signed_data["oauth_token"]
@graph = Koala::Facebook::API.new(@oauth_token)
@a = @graph.get_object("me")
end
pobiera id użytkownika jego token_access itp pobierze nawet page_id jeżeli wchodzi z tab…