2016-02-19 7 views
8

Podczas integracji aplikacji Facebook z oauth.io, najnowszą wersją API, którą możemy wybrać, jest v2.3.Oauth.io pobiera tylko "nazwę" i "id" w nieprzetworzonych danych z Facebooka v2.4 i v2.5

Proces logowania działa chociaż, ale gdy próbuje pobrać dane użytkownika (/me) tylko elementy name i id są dostarczane w surowych danych z odpowiedzi oauth.io:

curl "https://oauth.io/auth/facebook/me" 
    -H “oauthio:k=<myOauthKey>&access_token=<fbAccessToken>" 

otrzymujemy następującą odpowiedź:

{ 
    "status": "success", 
    "data": 
    { 
     "id": "fbId", 
     "avatar": "https://graph.facebook.com/v2.3/fbId/picture", 
     "name": "User Name", 
     "gender": 1, 
     "url": "https://www.facebook.com/fbId", 
     "raw": 
     { 
      "name": "User Name", 
      "id": "fbId" 
     } 
    } 
} 

Jeśli wykonujemy połączenia bezpośrednio za pomocą Facebooka, mogę dostać dodatkowe pola gdybym je określić w adresie URL:

curl "https://graph.facebook.com/v2.5/me?access_token=<fbAccessToken> 
     &fields=name,email,gender,birthday,first_name,last_name,picture" 

otrzymujemy dane szukamy:

{ 
    "name": "User Name", 
    "email": "email\u0040email.com", 
    "gender": "female", 
    "birthday": "03/02/1994", 
    "first_name": "User", 
    "last_name": "Name", 
    "picture": { 
     "data": { 
     "is_silhouette": false, 
     "url": "https://scontent.xx.fbcdn.net/hprofile-xlt1/v/t1.0-1/p50x50/whatever" 
     } 
    }, 
    "id": "fbId" 
} 

Powód jest jasny: od v2.4 Facebook wymaga parametru fields pobierać dodatkowe dane. Zobacz mniej pól domyślnych wyższą wydajność pod https://developers.facebook.com/blog/post/2015/07/08/graph-api-v2.4/

Wiesz, czy istnieje jakikolwiek sposób, aby powiedzieć oauth.io wypełnić parametr fields podczas wywoływania facebook /me połączenie?

Btw, używając:

https://oauth.io/auth/facebook/me?fields=name,email,gender,birthday 

nie działa.

Odpowiedz

Powiązane problemy