我正在尝试弄清楚如何使用自定义 OAuth2Client 请求 Facebook 用户的电子邮件地址,但是我在 Google 上可以找到的文档严重缺乏执行此操作的文档。我已经在 facebook 应用程序上设置了权限,但我读到 Microsoft 的默认 Facebook 客户端不请求电子邮件,唯一的方法是滚动你自己的。
有谁知道任何好的资源或代码可以展示如何通过编写自定义 OAuth2Client 从 Facebook 请求额外数据?
我正在尝试弄清楚如何使用自定义 OAuth2Client 请求 Facebook 用户的电子邮件地址,但是我在 Google 上可以找到的文档严重缺乏执行此操作的文档。我已经在 facebook 应用程序上设置了权限,但我读到 Microsoft 的默认 Facebook 客户端不请求电子邮件,唯一的方法是滚动你自己的。
有谁知道任何好的资源或代码可以展示如何通过编写自定义 OAuth2Client 从 Facebook 请求额外数据?
在重定向到 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;
}