我正在尝试弄清楚如何使用自定义OAuth2Client请求Facebook用户的电子邮件地址,但是我在Google上找到的文档严重缺乏。我已经在facebook应用程序上设置了权限,但我已经读过Microsoft的默认Facebook客户端不会请求电子邮件,唯一的方法就是自己动手。
是否有人知道任何可以通过编写自定义OAuth2Client来展示如何从Facebook请求额外数据的优秀资源或代码?
答案 0 :(得分: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;
}