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

标签 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) User must have accepted TOS

我疯了!请帮帮我 =(

最佳答案

看起来您实际上并没有使用用户访问 token 。

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

FacebookClient 过载将采用访问 token 的类。

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

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

关于c# - (OAuthException) (#200) 用户必须在 C# 上接受 TOS - Facebook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13243286/

相关文章:

iphone - 如何在没有用户修改消息的情况下从 iOS 应用程序发布到 facebook 墙

c# - 在字典的 linq 迭代过程中,什么可能导致堆栈溢出?

c# - 多线程和 C# 异常。文件正在被另一个进程使用

php - 我可以在 facebook 应用程序身份验证后将变量传递给回调 url

iphone - Facebook 整合问题

facebook - Facebook 和 Twitter 上的用户名字和姓氏限制

Facebook javascript sdk 查询当前用户信息必须使用active access token

c# - 使用 Xamarin WorklightResourceRequestAndroid API 时,我们如何将 cookie 插入到 MobileFirst 请求中?

c# - Linq Query 连接重叠范围并构造新的连续范围

iphone - 如何在 Facebook 分享期间显示应用程序名称代替 "ios"