Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][facebook] Graph API nie zwraca urodzin mimo prawidłowego tokenu
LamaMASTER
post
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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
LamaMASTER
post
Post #2





Grupa: Zarejestrowani
Postów: 160
Pomógł: 0
Dołączył: 27.03.2006

Ostrzeżenie: (0%)
-----


Dzięki za ten debugger. Wybierając birthday mam "field is empty or disallowed by the access token".

Rozumiem, że mój AT nie uwzględnia tego pola, ale generuję go przy każdym logowaniu z określonym SCOPE, więc powinien się odświeżać.

Generując nowy access token z poziomu tego debuggera dla mojej aplikacji wszystko jest OK, ale przecież nie wkleję tego tokena na sztywno w kod. Jak zrobić, by taki też generował się u mnie?

Robię to tak:

Kod
$appaccesstoken = file_get_contents('https://graph.facebook.com/oauth/access_token?client_id='.$fb['client_id'].'&client_secret='.$fb['client_secret'].'&grant_type=client_credentials');


Coś tutaj jeszcze muszę zmienić?

Ten post edytował LamaMASTER 2.06.2013, 18:29:33
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 04:28