facebookが投稿の結果を変更したようです。数週間前、投稿からコメント数を直接読み取ることができました。
https://graph.facebook.com/125909647492772_5029740030985
あなたのようなものを得た
...
"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という名前のフィールドでカウントされます。
コメント総数を取得する方法はまだありますか?
カウントを取得するには、末尾に?summary = 1を追加します: https://graph.facebook.com/125909647492772_502974003098530/comments?summary=1
私は同じ問題を抱えていましたが、「フィールド」に対して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
また、必要に応じて他のパラメーターを追加できます。 、
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)
FQLを使用してコメントの総数を取得できます。以下の質問を参照してください:
必要なクエリは次のとおりです:SELECT comment_info FROM stream WHERE post_id = ...
これは私と完璧に連携します:
fields=shares,created_time,comments.summary(true).limit(0)
この戻りコメントはsummary
でカウントされ、同時に0コメントを返します。これは、コメントカウントだけが必要なため、完璧です。
Facebookですべてをカウントしたい場合。 (その番号はFacebookのユーザーに表示されます)
Graph APIの代わりにFQL(Facebook Query Language)を使用する必要があります。
この状況を照会する必要があります
SELECT comment_info FROM stream WHERE post_id = ...
あなたはそのようなリクエストをすることができます:
{pageid}/posts?fields=comments.summary(1){id}
各投稿のコメント数を含む投稿のリストを返します。投稿あたりのコメント数だけが必要なので、ここではコメントIDのみを返しましたが、もちろん他の多くのフィールドを含めることができます。
{pageid}/posts?fields=comments.summary(1){id,message},id