仅在IE中使用post操作的OAuthException

时间:2011-08-28 23:26:04

标签: internet-explorer asp.net-mvc-3 facebook-c#-sdk

在我的fb应用程序中,我调用了一个帖子

$.post("http://localhost:3435/Home/Try?id=123&x=1");

我的行动

[HttpPost]
public ActionResult Try(string id, int x)
{
  //post on my wall
  var client = new FacebookWebClient();
  dynamic parameters = new ExpandoObject();
  //...
  dynamic result = client.Post("me/feed", parameters);
  //...
}

在FF和chrome中,这可以按预期工作。帖子到墙上。但是在Internet Explore中我得到了一个例外。 (OAuthException)必须使用活动访问令牌来查询有关当前用户的信息。

类似问题中的一些答案建议从FacebookSetting获取访问令牌,但在调试时似乎为空。我觉得这很奇怪,因为这适用于FF和Mozilla。

2 个答案:

答案 0 :(得分:2)

您需要手动维护用于回发或ajax请求的signed_request。

将signed_request作为参数传递给您的ajax帖子请求。

http://facebooksdk.codeplex.com/discussions/251878http://facebooksdk.codeplex.com/discussions/250820

的更多详情

答案 1 :(得分:0)

嗯检查IE是否已安装用于x域通信的闪存,如果没有,请尝试安装,也尝试点击apps.facebook.com/yourapp而不是直接转到iframe

哦,如果它是iframe,可能是另外一件事,是第三方cookie,尝试添加标题('P3P:CP = HONK');  到您的PHP代码