对于几个网站,我有一个与当前JS库的Facebook集成。登录按预期工作。
我使用Facebook C#api和JS库(v6)。当通过JS调用成功验证Facebook用户时,它将向C#方法发送ajax调用:
FacebookClient facebookClient = new FacebookClient(accessToken);
var fbResult = facebookClient.Get("me");
if (fbResult.GetType().ToString() != "Facebook.JsonObject")
return null;
IDictionary<String, Object> result = (IDictionary<String, Object>)fbResult;
if (result.ContainsKey("email"))
email = (String)result["email"];
else
throw new Exception("E-mail key not found")
现在这很好用,传递了accessToken,c#库使用它来获取用户的信息。
但是对于100个用户中的大约1个,抛出异常!由于某种原因,电子邮件密钥不包含在“api”中。
在developers.facebook.com上,我已将“Auth Dialog”中的应用程序设置为“Authenticated Referrals”:email和user_birthday。
但这怎么可能?我忽略了什么吗?为什么没有正确的权限,用户才能登录我的应用程序?