(OAuthException)(#200)用户必须已在C# - Facebook上接受TOS

时间:2012-11-06 01:55:27

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

好吧,我正在尝试制作一个应用程序,以便在C#中向facebook写评论。 在谷歌搜索我知道我需要一个应用程序(我做了),我需要选择权限。我做的.. 现在我用C#编写了我的代码:

private string MyAppId = "XXX";
private string MyAppSecret = "XXX";
private void button1_Click(object sender, EventArgs e)
{
  FacebookClient FB = new FacebookClient(MyAppId, MyAppSecret);
  Dictionary<string,string> data = new Dictionary<string,string>();
  data.Add("message","test");
  FB.Post("OBJECT_ID/comments", data);
}

但是当我点击按钮时出现此错误:

  

(OAuthException)(#200)用户必须已接受TOS

我疯了!请帮帮我=(

1 个答案:

答案 0 :(得分:1)

看起来你实际上并没有使用用户访问令牌。

您需要浏览OAuth workflow,其中用户被重定向到facebook.com并授予您的应用程序权限。一旦发生这种情况,您将获得一个用于代表用户发出请求的访问令牌。

FacebookClient类会带来访问令牌的重载。

由于您没有真正扩展您正在编写的应用程序类型,Facebook C# Github page有一组样本,适用于WinForms,ASP.NET和Windows 8 Metro。 This example应该向您展示如何进行客户端身份验证。

您还试图发布到OBJECT_ID,这不是有效的用户/帖子/页面。