【问题标题】:(OAuthException) (#200) User must have accepted TOS on C# - Facebook(OAuthException) (#200) 用户必须接受 C# 上的 TOS - Facebook
【发布时间】:2012-11-06 01:55:26
【问题描述】:

嗯,我正在尝试制作一个应用程序,用 C# 将 cmets 写入 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

我快疯了!请帮帮我=(

【问题讨论】:

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


    【解决方案1】:

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

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

    FacebookClient 类有一个重载,它将获取访问令牌。

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

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

    【讨论】:

    • 我将其更改为“OBJECT_ID”,因为该 ID 是私有的。你能帮我处理 OAuth 工作流程吗?我阅读了大量的帖子和代码,但一无所获!太难了:S! PD:我正在为 Net Framework 4.0 使用 Facebook.dll。谢谢
    • 这是什么类型的应用程序?网络应用或桌面?
    • 是桌面,基本上我想从我的应用中评论照片的相册。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多