2016-05-17 2 views
0

Ich habe diesen Code, um die E-Mail-Facebook Log in

string code = Request.QueryString["code"]; 
      if (!string.IsNullOrEmpty(code)){ 
       string data = FaceBookConnect.Fetch(code, "me"); 
       FaceBookUser faceBookUser = new JavaScriptSerializer().Deserialize<FaceBookUser>(data); 

Und auf dem Click-Ereignis zu bekommen I definiert dies:

 FaceBookConnect.Authorize("email", Request.Url.AbsoluteUri.Split('?')[0]); 

Das Problem ist, dass es mir einen Nullwert gibt als E-Mail, ich habe versucht, das gleiche für den Namen und es ist das einzige Feld, das tatsächlich funktioniert. Ich habe gelesen, dass Thay die Version auf v2.6 geändert hat und es ist notwendig, facebookConnect.Fetch auf andere Weise zu machen, aber ich kann nicht finden, wie. Weiß jemand etwas? Danke allen!

Antwort

0

Haben Sie die E-Mail-Informationen von Facebook angefordert? Sie müssen dies beim Start der Anmeldung tun und der Benutzer muss dies genehmigen, bevor Facebook es zur Verfügung stellt. Facebook sagt auch, dass es null sein wird, wenn die Adresse nicht gültig ist oder wenn sie eine Telefonnummer zur Anmeldung verwendeten:

"Hinweis, auch wenn Sie die E-Mail-Erlaubnis anfordern, ist es nicht garantiert, dass Sie eine E-Mail-Adresse erhalten. zum Beispiel, wenn jemand für Facebook mit einer Telefonnummer anstelle einer E-Mail-Adresse angemeldet hat, kann das E-Mail-Feld leer. "

https://developers.facebook.com/docs/facebook-login/permissions#reference-email

+0

Ja, es in der FaceBookConnect.Authorize angefordert wird, und auf der Facebook Webseite Ich erhalte eine Nachricht, dass wenn ich meine persönlichen Informationen und E-Mails teilen möchte, aber wenn ich akzeptiere, ist die E-Mail null –

+0

Updat Ed meine Antwort dort mit mehr relevanten Text. Ich nehme an der User auf Facebook hat eigentlich ein Benutzerkonto? –

+0

Ja, ich sah, dass auf dem Facebook-Link, aber der Benutzer hat E-Mail, deshalb verstehe ich nicht, warum es Null ist, habe ich Stunden versucht, es herauszufinden, aber ich weiß es nicht –