【问题标题】:Getting Oauth Exceptions When trying to postback尝试回发时获取 Oauth 异常
【发布时间】:2012-06-02 20:40:06
【问题描述】:

我正在尝试回复关于墙/时间轴的评论。如果我用https://graph.facebook.com/me/permissions?access_token=ACCESS_TOKEN(示例)检查我的权限,我会得到这个返回:

{
   "data": [
      {
         "installed": 1,
         "read_stream": 1,
         "status_update": 1,
         "photo_upload": 1,
         "video_upload": 1,
         "email": 1,
         "create_note": 1,
         "share_item": 1,
         "publish_stream": 1,
         "publish_actions": 1
      }
   ]
}

这说明我有 publish_stream/actions - 如果我正确阅读了文档,那么这就是我所需要的吗?我可以在墙上发布新的 cmets 但不能回复。

我得到的异常是“(OAuthException) (#200) 需要 publish_stream 权限或需要扩展权限:publish_actions”

我是否需要其他东西才能回复帖子,它说我需要我已经拥有的权限。

谢谢

编辑:

Facebook SDK C#

public bool ReplyToPost(string objId, string message)
        {
            FacebookClient client = new FacebookClient(GetAccessToken());

            IDictionary<string, object> param = new Dictionary<string, object>();
            param.Add(new KeyValuePair<string, object>("message", message));
            //744590031_10151761424915032 -- Test Obj.
            dynamic r = client.Post(string.Format("{0}/comments", objId), param);

            return true;
        }

我了解,一旦我的应用被授予权限,它就应该始终拥有这些权限?

【问题讨论】:

  • 向我们展示您用来评论帖子的代码。

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


【解决方案1】:

在您的代码中,您是否将objId 发布为744590031_10151761424915032

尝试仅使用 objId 的最后一部分调用应用程序,例如/10151761424915032/comments 看看它是否有效。

【讨论】:

  • hrmm.. 这似乎改变了响应。现在我得到 (OAuthException) (#200) 用户必须接受 TOS
  • 以前从未见过。用户是否与通过您的应用发表评论的用户成为好友?
  • 是我,在我自己的页面上发帖。我已经使用 Facebook 测试对此进行了测试。生成的访问令牌似乎允许我发布。使用 Facebook SDK 一旦我请求了我的 access_token,我是否需要请求一个更强大的?我的应用程序拥有完全的权限,可以随心所欲。
  • 一个访问令牌足以发布,因为它的有效期为 24 小时。 TOS 错误通常意味着用户不允许访问应用程序...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多