【问题标题】:Getting facebook likes per comment without making separate calls per comment id.无需为每个评论 ID 单独调用即可获得每个评论的 facebook 喜欢。
【发布时间】:2018-01-15 22:08:34
【问题描述】:

当我得到一个 facebook 页面 cmets 列表时:

nike/posts?fields=comments

对于每条评论,我只得到以下字段:

         "created_time": "",
            "from": {
              "name": "",
              "id": ""
            },
            "message": "",
            "id": "10155265827713445_10155266595898445"

有没有办法同时请求每个评论的喜欢/反应计数摘要?我唯一的方法是获取 id,然后为每个评论打另一个电话,这有点疯狂(而且很慢):

10155265827713445_10155266595898445?fields=reactions.limit(0).summary(true)

然后我把它从:

 "reactions": {
    "data": [
    ],
    "summary": {
      "total_count": 0,
      "viewer_reaction": "NONE"
    }

【问题讨论】:

    标签: facebook api facebook-graph-api facebook-php-sdk


    【解决方案1】:

    您可以为此使用字段扩展语法https://developers.facebook.com/docs/graph-api/using-graph-api/#fieldexpansion

    nike/posts?fields=comments{reactions.limit(0).summary(true)}
    

    如果您还需要 cmets 对象的其他字段,则需要通过将它们添加到列表中来询问它们,逗号分隔。

    【讨论】:

    • 太棒了。正是我正在寻找的东西,但在文档中找不到。文档中在哪里指定?另外 - 我能以某种方式获得多少评论回复吗?
    • 它在基本API使用一章中指定 - 我链接到的部分;-)
    • 您也可以请求 cmets 的摘要 - 但要了解上述语法并不容易。基本上你需要comments.summary(1).limit(0) - 但是使用上述语法同时请求反应是很棘手的。我建议在这里使用Field Aliases,并请求 cmets 字段两次,一次获取反应,一次获取 cmets 的摘要,作为结果中不同名称的字段。
    • 那看起来像这样,nike/posts?fields=comments{reactions.limit(0).summary(true)},comments.summary(1).limit(0).as(numcomments) 您将在生成的数据结构中看到一个名为 numcomments 的新属性,其中包含帖子的 cmets 计数。
    • 你的结尾“}”不在正确的位置,但即使我移动它nike/posts?fields=comments{reactions.limit(0).summary(true),comments.summary(1)‌​.limit(0).as(numcomm‌​ents)},这个语法仍然没有用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-24
    • 2013-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-14
    • 2015-01-01
    相关资源
    最近更新 更多