2016-03-19 24 views
1

Ich versuche Facebook Login SPA zu implementieren. Ich verwende das JavaScript SDK für die Anmeldung. Fb hat den Benutzer autorisiert und Token empfangen. Token wird an die Web-API gesendet. Wenn die API versucht, die Daten vom Token abzurufen, werden nur die Facebook-ID und der Name von der Facebook-Grafik zurückgegeben. Obwohl ich den Umfang für die verschiedenen Daten in Java Script SDK festgelegt habe. Wenn ich die Daten mit Javascript sdk abrufe. In diesem Fall erhalte ich die vollständigen Daten, egal in welchem ​​Umfang.Facebook Login Für Rest Api

Antwort

0

Ich denke, Sie fragen "Warum bekomme ich nicht alle Daten, die ich angefordert habe?". Wenn dies der Fall ist, liegt der häufigste Grund daran, dass Berechtigungen nicht festgelegt sind. Zum Beispiel, wenn die Berechtigung Benutzer gewährt "public_profile" dann wird Facebook autorisieren Ihre Anwendung jedes Feld zu erhalten, dass die "public_profile" Genehmigung erlaubt, in diesem Fall ist die folgende:

id, name, first_name, last_name, age_range, link, gender, locale, picture, timezone, updated_time, verified 

erhalten über

FB.api('/me', 
     'GET', 
      {"fields":"id,name"}, //any of the other fields here 
      function(response) { 
      // Insert your code here 
      }); 

aber wenn 'email' als Feld hinzugefügt, dann würde das Facebook alles außer dem 'email' zurückgeben, weil dort eine Erlaubnis speziell für das Gewähren des Zugangs zur Benutzeremail genannt email. Sie können sehen, welche Berechtigungen aktivieren, welche Daten bei https://developers.facebook.com/docs/facebook-login/permissions zurückgeben, und Sie können es bei https://developers.facebook.com/tools/explorer testen. Ich hoffe, dass du das in deiner Frage versucht hast. Prost!