2015-09-30 60 views
2

我有以下代码尝试连接认证与Xamarin.Auth和Facebook验证获取电子邮件地址

 var auth = new OAuth2Authenticator (
      appId, 
      "email", 
      new Uri ("https://m.facebook.com/dialog/oauth/"), 
      new Uri ("http://www.facebook.com/connect/login_success.html")); 

当对话节目,我可以看到,它请求允许看到我的电子邮件。但是,如何从服务中获取该电子邮件?

我提出以下调用来获取Facebook的ID

var request = new OAuth2Request ("GET", new Uri ("https://graph.facebook.com/me"), null, args.Account); 
       request.GetResponseAsync().ContinueWith (t => { 
        var obj = JsonValue.Parse (t.Result.GetResponseText()); 
        var id = obj ["id"]; 
       }); 

但在我回来的效应初探没有电子邮件。我怎样才能得到用户的电子邮件地址?

回答

5

介绍最新API版本(2.4在写作时)使用声明字段,所以您需要明确要求的电子邮件领域是这样的:

https://graph.facebook.com/me?fields=email

+0

真棒,感谢的人 –

+0

嗨,我用这链接字段=电子邮件,但它没有返回电子邮件ID。这里是我的链接https://graph.facebook.com/v2.5/me?access_token=CAAN8FxOdoyABAB3gBzOTyzoqDzBtvrZCcx90F98lyNdOrZCNZAmmpS8yQiHpN8cWq1cufmzPZCRpBRiY6fAYE98VaETN2MdEziTnK97TTptUwCKbTf0s4glWohInyorZBx9BjTyi8qrRqCpRrLdsoygWZA3v6HUhCPg6OCmQhjSI619raeqshqj4VzQ5Lr7X4ZD&fields=email请建议。 – Rakesh