Facebook API错误:(OAuthException)发生意外错误。请稍后重试您的请求

时间:2012-02-28 09:47:47

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

我正在开发一个应用程序,使我能够通过我的网络应用程序发布到Group&#397的墙上。但是我收到以下错误:(OAuthException)发生了意外错误。请稍后重试您的请求。

            var client = new FacebookClient("<my token>");
            dynamic parameters = new ExpandoObject();
            parameters.access_token = "<my token>";
            parameters.message = "testing";
            parameters.link = "http://www.example.com/article.html";
            parameters.picture = "http://www.example.com/article-thumbnail.jpg";
            parameters.name = "Article Title";
            parameters.caption = "Caption for the link";
            parameters.description = "Longer description of the link";
            parameters.actions = new
            {
                name = "View on Zombo",
                link = "http://www.zombo.com",
            };
            dynamic result = client.Post("/<group id>/feed", parameters);

我在https://graph.facebook.com/me/permissions?access_token=&#34;我的令牌&#34;

中得到以下结果
 {
 "data": [
  {
     "installed": 1,
     "status_update": 1,
     "photo_upload": 1,
     "video_upload": 1,
     "create_note": 1,
     "share_item": 1,
     "read_stream": 1,
     "publish_stream": 1,
     "manage_pages" : 1
  }
]}

我是否错过了其他任何权限?

1 个答案:

答案 0 :(得分:0)

代码中的所有内容都显示正确无误。如果您拥有具有'publish_stream'权限的有效访问令牌,则此请求应该有效。我想知道的一件事是,如果设置访问令牌两次导致问题,但我查看了代码,它看起来不应该。尝试将代码更改为以下示例,看看它是否有效。

var client = new FacebookClient(); / Node no token in constructor
dynamic parameters = new ExpandoObject();
parameters.access_token = "<my token>";
parameters.message = "testing";
parameters.link = "http://www.example.com/article.html";
parameters.picture = "http://www.example.com/article-thumbnail.jpg";
parameters.name = "Article Title";
parameters.caption = "Caption for the link";
parameters.description = "Longer description of the link";
parameters.actions = new
{
    name = "View on Zombo",
    link = "http://www.zombo.com",
};
dynamic result = client.Post("/<group id>/feed", parameters);

我们将在SDK中对此进行仔细检查,但如果这对你有用,请在github上创建一个错误,因为上面的代码应该可以正常工作。