【问题标题】:(OAuthException) (#200) exception while posting to facebook wall using facebook c#sdk(OAuthException) (#200) 使用 facebook c#sdk 发布到 facebook 墙时出现异常
【发布时间】:2011-10-13 06:31:51
【问题描述】:

我正在研究 asp.net mvc3,我正在使用 facebook c# sdk 在 fb wall 上发帖。尝试在墙上发帖时出现以下错误。

(OAuthException) (#200) 用户未授予应用程序自动发布提要故事的权限

请看我使用的代码。

string appAccessToken = "accesstoken"; //这个令牌是我在 fb developer 中创建应用程序后得到的。

        FacebookClient fb = new FacebookClient(appAccessToken);
        Dictionary<string, object> parameters = new Dictionary<string, object>()
                                                    {
                                                        {"description", "Testbeskrivning"},
                                                        {"link", ""},
                                                        {"name", "Testtitel" }

                                                    };

        fb.Post("myfbid/feed", parameters);

【问题讨论】:

  • 嗨,请找到上述代码的解决方案。
  • 以上代码工作下载 facebook c# sdk 5.2.1 。然后将 .net 4.0 客户端文件夹中的 facebook.dll 包含到我们的项目中这与在您的 fb 应用程序中设置的画布 url 相同。 facebook.com/dialog/… 。在重定向页面中,您可以在 url 中看到访问令牌。使用它。
  • 不要忘记在参数中添加消息,否则您的帖子将在墙上是空的。将 { "message","your message"} 添加到参数列表

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


【解决方案1】:

那是因为你在获取 LoginUrl 时没有添加正确的权限: 您必须添加以下权限:publish_stream

var oAuthClient = new FacebookOAuthClient(FacebookApplication.Current);
oAuthClient.RedirectUri = new Uri(redirectUrl);

Dictionary<String, Object> oParams = new Dictionary<String, Object>();
oParams.Add("scope", "publish_stream");

var loginUri = oAuthClient.GetLoginUrl(oParams);

对于大多数 Facebook 功能,您需要用户的许可。 查看以下页面以获取所有当前权限:

https://developers.facebook.com/docs/reference/api/permissions/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-07
    • 1970-01-01
    • 1970-01-01
    • 2013-07-26
    • 1970-01-01
    • 1970-01-01
    • 2012-08-24
    • 1970-01-01
    相关资源
    最近更新 更多