在他们“批准”申请后,无法使用Facebook API“授权”用户?

时间:2011-02-21 02:25:12

标签: c# facebook facebook-c#-sdk

当Facebook用户试图访问我的Facebook应用时,会收到标准“批准此应用?”的提示。用户批准我的应用程序。然后,当我的代码执行以下操作时,答案始终为false:

FacebookApp fbApp = new FacebookApp();
CanvasAuthorizer authorizer = new CanvasAuthorizer(fbApp);
authorizer.Perms = "user_about_me";
if (authorizer.Authorize())
{
    JsonObject result = (JsonObject)fbApp.Api("/me");

    return Convert.ToInt64((String)result["id"]);
}
else
{
    throw new Exception("Unauthorized Facebook API access.");
}

导致authorizer.Authorize()始终为false并且抛出“Unauthorized Facebook API Access”异常。

用户已“批准”我的应用。那么为什么会失败,返回假?

我甚至不知道从哪里开始尝试调试此问题。

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

您是否已使用App ID和App Secret配置了web.config文件。 如果不是这样的AppId和秘密:

<configuration>
  <configSections>
    <section name="facebookSettings" type="Facebook.FacebookConfigurationSection" />
  </configSections>
  <facebookSettings appId="{app id}" 
                 appSecret="{app secret}" />
</configuration>

答案 1 :(得分:0)

这是IE8的cookie问题。检查是否在兼容模式下出现错误。如果没有,那么将其添加到所有页面

HttpContext.Current.Response.AddHeader("p3p", "CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"");