使用Xamarin.Auth和Facebook身份验证获取电子邮件地址

时间:2015-09-30 08:13:56

标签: facebook xamarin oauth-2.0

我有以下代码尝试连接验证器

        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"];
                });

但我回复的回复中没有电子邮件。如何获取用户的电子邮件地址?

1 个答案:

答案 0 :(得分:5)

最新的API版本(撰写本文时为2.4)使用声明字段,因此您需要显式请求电子邮件字段,如下所示:

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