![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 160 Pomógł: 0 Dołączył: 27.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Korzystam z wywołań graph API u siebie w projekcie PHP.
Przy każdym logowaniu generuję też access token aplikacji. Logowanie przez aplikację wymaga zgody na udostępnienie daty urodzenia (bez tego aplikacja nie przepuszcza do logowania). Po logowaniu dodaję info o użytkownikach do bazy i później na podstawie ich FB_USER_ID mogę pobierać informacje/wykonywać akcje. Wszystkie opcje mi działają prócz daty urodzin. Próbuję ją pobrać tak: $fbf = file_get_contents('https://graph.facebook.com/'.$fb_id.'/?access_token='.$appaccesstoken); $fbf = json_decode($fbf); print_r($fbf); echo $fbf->birthday; Dostaję tablicę danego użytkownika z podstawowymi danymi, ale daty urodzin (birthday, wg dokumentacji), tam nie ma. Konfiguracja zezwoleń w aplikacji: http://i.imgur.com/xxWEPEw.jpg SCOPE przy logowaniu przez FB: scope=publish_actions,share_item,status_update,email,user_likes,user_birthday Wszystkie inne rzeczy dostaję bez problemu (email, mogę publikować informacje, lajkować itp., ale nie dostaję daty urodzenia...). Co robię źle? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 160 Pomógł: 0 Dołączył: 27.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
OK, mam rozwiązanie.
Niepotrzebnie generuję APP Access Token. Wydawało mi się, że tego typu TOKEN generuje wszystkie uprawnienia aplikacji i pozwala na pokazywanie wszystkiego, a tak naprawdę on służy tylko do zarządzania aplikacją i nie jest potrzebny (nazwa jest myląca). Zamiast tego wystarczy generować zwykły access token, ten sam co przy logowaniu użytkowników (ze scope), ale nie trzeba do niego robić logowania. Token uwzględnia wszystkie uprawnienia i możemy używać po prostu $_SESSION['access_token'] do autoryzowania sprawdzania urodzin, lajków itp. Teraz wszystko śmiga (IMG:style_emoticons/default/smile.gif) Dzięki za nakierowanie. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 21:12 |