好吧,我正在尝试制作一个应用程序以使用 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/