20

Facebookは投稿の結果を変更したようですが、数週間前には投稿から直接コメント数を読み取ることができました

https://graph.facebook.com/125909647492772_502974003098530

あなたは次のようなものを手に入れました

...
"comments": {
"data": [
  {
    "id": "502974003098530_78616446", 
    "from": {
      "name": "Mathias Fritz", 
      "id": "526559276"
    }, 
    "message": "saugeil!", 
    "can_remove": false, 
    "created_time": "2013-03-26T14:58:01+0000", 
    "like_count": 1, 
    "user_likes": false
  }
], 
"paging": {
  "cursors": {
    "after": "MQ==", 
    "before": "MQ=="
  }
}, 
"count": 1

しかし、今はカウントがありません。

私はグラフのドキュメントについていくつかの調査を行いましたが、その方向への唯一の変更は、コメントにコメントを付けることができるようになったことです...そして、それらのコメントはcomment_countという名前のフィールドでカウントされます.

総コメント数を取得する方法はまだありますか?

4

9 に答える 9

21

私は同じ問題を抱えlikes.summary(true),comments.summary(true)ていました.「フィールド」に対してパラメータを追加するだけでうまくいきました.

たとえば、私が使用したhttps://graph.facebook.com/me/feed?access_token=ACCESS_TOKEN&fields=story,from,story_tags,likes.summary(true),comments.summary(true)

それ以外のhttps://graph.facebook.com/me/feed?access_token=ACCESS_TOKEN

また、必要に応じて他のパラメーターを追加することもできます。で区切られた、

于 2013-11-21T17:26:17.073 に答える
16

summary=trueあなたが探しているものです

いいね数を取得する:

114916098537132_1265715836790480/likes?summary=true

コメント数を取得する

114916098537132_1265715836790480/comments?summary=true

共有数を取得:

114916098537132_1265715836790480?fields=shares

そして最後の[3つすべてを組み合わせる]

114916098537132_1265715836790480?fields=shares,likes.summary(true),comments.summary(true)

改良版 ( limit(0) を追加して、いいねのリストを削除し、概要のみを取得します) :

114916098537132_1265715836790480?fields=shares,likes.limit(0).summary(true),comments.limit(0).summary(true)
于 2016-05-03T07:01:39.387 に答える
6

これは私と完全に連携します:

fields=shares,created_time,comments.summary(true).limit(0)

この戻りコメント数はsummary、同時に0コメントを返します。これは、コメント数だけが必要なため完璧です。

于 2017-10-05T03:59:23.413 に答える
5

FQL を介して合計コメント数を取得できます。以下のこの質問を参照してください。

Facebook API - FQL によるコメント数

必要なクエリは次のとおりです。SELECT comment_info FROM stream WHERE post_id = ...

于 2013-05-06T13:52:51.350 に答える
3

Facebookですべてをカウントしたい場合。(その番号は Facebook のユーザーに表示されます)

Graph API の代わりに FQL (Facebook クエリ言語) を使用する必要があります。

Facebook クエリ言語リファレンス

この状況を照会する必要があります

SELECT comment_info FROM stream WHERE post_id = ...
于 2013-05-06T14:48:20.587 に答える
3

そのようなリクエストを行うことができます:

{pageid}/posts?fields=comments.summary(1){id}

各投稿のコメント数を含む投稿のリストを返します。ここでは、投稿ごとのコメント数のみが必要なため、コメント ID のみを返していますが、もちろん、他の多くのフィールドを含めることもできます。

{pageid}/posts?fields=comments.summary(1){id,message},id

于 2015-01-23T09:24:15.360 に答える
-1

次のことを試してください。

{
    "data": [
        {
            "id": "447235535389660_1226199",
            "from": {
                "name": "Harjeet Walia",
                "id": "100004980601083"
            },
            "message": "Price",
            "can_remove": false,
            "created_time": "2013-09-06T10:39:01+0000",
            "like_count": 0,
            "user_likes": false
        },
        {
            "id": "447235535389660_1226152",
            "from": {
                "name": "Shoba Dhyani Jakhmola",
                "id": "100000906896060"
            },
            "message": "baap re kitna mehnga !",
            "can_remove": false,
            "created_time": "2013-09-06T10:05:09+0000",
            "like_count": 0,
            "user_likes": false
        }
    ],
    "paging": {
        "cursors": {
            "after": "MQ==",
            "before": "NA=="
        }
    }
}

それから

int commentCount = <JsonNode Var with above data>.path("comments").path("data").size();

ここcommentCountにコメント数が表示されます。

于 2013-09-06T11:35:40.580 に答える
-1

または、既存のコードへの変更を少なくするには、次を使用します。

    $.each(json.data,function(i,fb){
    ...
       var commentsCount = 0
       if(fb.comments!=undefined){
          commentsCount=fb.comments.data.length
       }
    ...
    }

commentsCount は、アクティブな子のコメント数を保持します

于 2013-07-11T16:44:49.103 に答える