C# Facebook api权限

C# Facebook api权限,c#,facebook,facebook-c#-sdk,C#,Facebook,Facebook C# Sdk,对于一些网站,我有一个facebook与当前JS库的集成。登录正常工作 我将Facebook C api与JS库v6一起使用。当Facebook用户通过JS调用成功进行身份验证时,它将向C方法发送一个ajax调用: FacebookClient facebookClient = new FacebookClient(accessToken); var fbResult = facebookClient.Get("me"); if (fbResult.GetType().ToString() !

对于一些网站,我有一个facebook与当前JS库的集成。登录正常工作

我将Facebook C api与JS库v6一起使用。当Facebook用户通过JS调用成功进行身份验证时,它将向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对话框中设置了我的应用程序,用于认证推荐:电子邮件和用户生日


但这怎么可能呢?我是不是忽略了什么?为什么用户在没有正确权限的情况下可以登录到我的应用程序?

发生这种情况时,您是否尝试将得到的响应输出到日志中?例如,可能是facebook的一个例外?是的,我有,但例外非常具体,只是缺少电子邮件密钥。它现在有很多日志记录。我自己和我认识的任何人都不能做这种行为。必须有某个隐藏功能才能从应用中删除您的电子邮件。您可以使用删除您现在对我拥有的权限/权限,然后重新添加所有权限,但不包括电子邮件权限。这将让你创建一个类似的测试场景。谢谢,非常方便的工具!但这并不能解释为什么会发生这种行为……你是对的。您是否检查过一个用户,该用户有此异常,如果您尝试在其他时间获取他的数据,会发生什么情况?回复是一样的吗?