2011-12-27 15 views
11

Czy ktoś może mi wytłumaczyć, jak używać facebook app_data, który jest częścią podpisanego wniosku?Facebook app_data

http://developers.facebook.com/docs/authentication/signed_request/

Dokumentacja jest niejasne. Nie mogę się dowiedzieć, jak faktycznie użyć pola app_data. Chcę móc przekazywać dane aplikacji do aplikacji, gdy zostanie ona dodana do strony, tak aby wyświetlana na niej treść była odpowiednia dla strony na Facebooku.

Na przykład chcę, aby profil użytkownika w mojej witrynie był wyświetlany tylko na tej stronie Facebooka dla użytkowników. W tym celu chcę wysłać identyfikator użytkownika do zgłoszenia podpisanego przez FB, gdy użytkownik doda aplikację do swojej strony. Wtedy, gdy strona zostanie odwiedzona, pobiorę dane aplikacji i uruchomimy php, aby wyświetlić poprawny profil.

Czy mogę to zrobić z app_data, czy jest to niemożliwe?

+1

+1 dobre pytanie. Możesz także skomentować teraz, w razie potrzeby poproś o wyjaśnienia. –

Odpowiedz

10

Z dokumentacji, które zostały przywołane

dane aplikacji jest

JSON ciąg znaków zawierający treść parametru ciąg kwerendy zwanego również App_Data. Zwykle określane, gdy aplikacja tworzy łącze do przekazywania niektórych danych do siebie. Dostępne tylko, jeśli Twoja aplikacja jest elementem iframe załadowanym do karty Strona.

Więc danych aplikacji jest przydatna tylko gdy aplikacja ma wygenerowany link że jakiś użytkownik kliknie i po drodze do swojej aplikacji na jakiejś stronie na Facebooku.

Jeśli użytkownik jest odwiedzając pewną stronę (i kartę aplikacji) bezpośrednio pod numerem, to nie otrzyma pola app_data.

Gdy użytkownik zainstalował aplikację (i dał swoje uprawnienia app minimalne) na jednego z ich strony, zawsze masz page_id i user_id pola w signed_request że Facebook wyśle ​​do aplikacji, zarówno w aplikacjach płótnie (no page_id pole) i aplikacje zakładki strony.

Co chcesz zrobić, po prostu przeczytaj signed_request, a następnie znajdź page_id i wyświetl dane odpowiednio, nawet nie musisz używać id_użytkownika.

Mam nadzieję, że to odpowiada na twoje pytanie. W razie potrzeby poproś o wyjaśnienia.

+1

dzięki, myślę, że będę musiał po prostu użyć id strony. Musiałem ustalić związek między moją treścią a stroną na Facebooku i miałem nadzieję, że mogę nakarmić aplikację zainstalowaną na tej stronie za pomocą app_data za link, który udostępniłbym każdemu użytkownikowi z dodaną app_data. – user975044

+0

jesteście mile widziane, wystarczy przechowywać dane w odniesieniu do page_ids, więc istnieje związek między ** page_id (strona na Facebooku) i treścią **. Nic się martwić. –

Powiązane problemy