【问题标题】:How can I post new comment with Graph API into Social Comments Box?如何使用 Graph API 将新评论发布到社交评论框中?
【发布时间】:2013-08-12 00:05:14
【问题描述】:

我有 facebook 社交 cmets 框。如何通过图形 API 向它发表评论?

【问题讨论】:

标签: facebook facebook-graph-api


【解决方案1】:

我可以给你这个问题的一半答案,但我自己仍然非常需要另一半。您可以在社交评论框中找到现有评论的post_fbid,对其进行回复。为此,您可以使用 FQL,例如:

https://api.facebook.com/method/fql.query?query=SELECT post_fbid, id FROM comment WHERE object_id IN (SELECT comments_fbid FROM link_stat WHERE url ='[ PAGE_URL ]')&access_token=[ ACCESS_TOKEN ]

此查询需要通过带有 PAGE_URL 的 escape() 运行,然后用于 HTTP GET 请求:

https://api.facebook.com/method/fql.query?query=SELECT%20post_fbid%2C%20id%20%0A%20%20%20%20%20%20%20%20FROM%20comment%20%0A%20%20%20%20%20%20%20%20WHERE%20object_id%20IN%20%0A%20%20%20%20%20%20%20%20%20%20(SELECT%20comments_fbid%20%0A%20%20%20%20%20%20%20%20%20%20%20FROM%20link_stat%20%0A%20%20%20%20%20%20%20%20%20%20%20WHERE%20url%20%3D'http%3A%2F%2Fexample.com')&access_token=[ ACCESS_TOKEN ]

使用 post_fbid,您可以通过 HTTP POST 回复:

https://graph.facebook.com/[ POST_FBID ]/comments/?access_token=[ ACCESS_TOKEN ]&message=[ MESSAGE]

现在向页面 this 发布新评论,直到最近才使用 HTTP POST:

http://graph.facebook.com/comments/?ids=[ PAGE_URL ]&access_token=[ ACCESS_TOKEN ]&message=[ MESSAGE]

但目前这一直在返回:

{
  "error": {
    "message": "An unknown error has occurred.", 
    "type": "OAuthException"
  }
}

我希望这会有所帮助,如果有人可以阐明是否可以发布这样的新评论,那将不胜感激。

【讨论】:

  • 猜我不是唯一遇到 OAuthException 的人:-/ 如果您找到解决方案,请告诉我...
  • 是的,伙计们,我在今年 9 月对其进行了测试——它奏效了。现在它没有。平常的事情:-)
  • 发帖时需要设置&method=POST
  • 您似乎是使用用户 access_token 而非页面 access_token 发布的
  • 一年多过去了,bug依然存在。这是一个耻辱
【解决方案2】:

似乎不可能,而且永远不会:

此功能从未也不会提供。

为这种情况添加了一条错误消息:“评论可能不是 添加到评论插件”

https://developers.facebook.com/bugs/164794086987157

【讨论】:

    【解决方案3】:

    非常简单,因为您在使用发布流令牌获取 access_token 后在用户提要上发布

    我假设你使用 PHP SDK 如果你需要其他让我知道

    您只需要Step 4,但我会在Step 1至Step 3中为您提供更多详细信息,以便您理解并清楚地完成

    第 1 步

    获取用户访问令牌

            $token = $facebook->getAccessToken();
            echo "</br>" . 'Access_Token:' . $token;
    

    第 2 步
    设置默认访问令牌和配置文件

            $facebook->setAccessToken($token);
    

    第 3 步
    编译帖子

        $WallPost = array(
        'message' => 'hey this app is cool!!',
        'link' => $canvas_page,
        'caption' => 'caption',
        'description' => 'Test Description',
                );  // you can also use 'picture', 'description', 'source'.... 
    

    第 4 步
    发布到墙上或您的社交评论插件

            $response = $facebook->api('/me' . '/feed','POST',$WallPost);
    

    谢谢

    【讨论】:

    • 这是推送时间线,不是评论,需要编辑步骤4
    • 问题显然是在询问如何向 cmets 社交插件发表评论,而不是如何向用户提要/墙发表评论...
    猜你喜欢
    • 2015-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-02
    • 2012-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多