0

我正在尝试弄清楚如何使用自定义 OAuth2Client 请求 Facebook 用户的电子邮件地址,但是我在 Google 上可以找到的文档严重缺乏执行此操作的文档。我已经在 facebook 应用程序上设置了权限,但我读到 Microsoft 的默认 Facebook 客户端不请求电子邮件,唯一的方法是滚动你自己的。

有谁知道任何好的资源或代码可以展示如何通过编写自定义 OAuth2Client 从 Facebook 请求额外数据?

4

1 回答 1

0

在重定向到 FB 之前,您需要指定如下参数

var parameters = new Dictionary<string, object>();
        parameters["state"] = returnUrl;
        parameters["scope"] = "email";

这就是您获取信息的方式,因为在许多情况下,用户对其电子邮件地址具有隐私权,因此在这种情况下您将不会收到电子邮件

FacebookClient fbClient = new FacebookClient(accessToken);
                    dynamic me = fbClient.Get("/me");

 FBModel f = new FBModel();//Making Model class object to pass values to it                  
                    f.Name = me.name;
                    f.FirstName = me.first_name;
                    f.LastName = me.last_name;
                    f.Gender = me.gender;            
                    if (me.email != null)
                    {
                        f.Username = me.email;
                        f.isEmail = true;

                    }
于 2012-09-07T06:48:29.697 回答