グラフAPIをテストしていて、問題が発生しました。ページ/グループの写真からどのようにカウントすることができますか?
私はグループの管理者/作成者です。 https://developers.facebook.com/tools/Explorer/ に入力すると、そのグループの特定の写真付きIDで、コメントを含め、ほとんどすべてのデータが表示されますが、likeカウントは含まれません。同様の部分については、誰でもその情報にアクセスできるという事実にもかかわらず、(ドキュメントによると)アクセストークンが必要です。
必要な権限を持つページ/グループのアクセストークンを取得する方法と、それを使用して必要な情報を取得する方法
可能であれば、単一のアドレスからJSONを取得したいのですが。
これはページで可能です(アクセストークンがなくても!)。その方法は次のとおりです。
グラフのページにアクセス
ページのURLに移動して、ページのIDを取得します。
https://www.facebook.com/pages/platform/19292868552
URLの最後の数字はページのIDです。そのIDを取得して、グラフエクスプローラーで使用するか( こちら )、または単にアクセス 直接 します。
ページのアルバムにアクセス
次に、そのURLにアルバムを追加すると、壁の写真を含め、ページにあるすべてのアルバムが表示されます。
https://graph.facebook.com/19292868552/albums
出力は次のようになります。
{
"data": [
{
"id": "10150160810478553",
"from": {
"name": "Facebook Platform",
"category": "Product/service",
"id": "19292868552"
},
"name": "Bringing Operation Developer Love to Europe",
"description": "Blog post: http://developers.facebook.com/blog/post/479\n\nVideos and presentations uploaded here: http://developers.facebook.com/videos/",
"location": "Berlin, Paris, London",
"link": "https://www.facebook.com/album.php?fbid=10150160810478553&id=19292868552&aid=285301",
"cover_photo": "10150160811078553",
"count": 32,
"type": "normal",
"created_time": "2011-04-06T23:05:44+0000",
"updated_time": "2011-04-06T23:33:20+0000",
"comments": {
..... etc ....
アルバムの選択
data配列の各オブジェクトには、-idとnameがあります。これらの2つのフィールドを使用して、必要な写真を含むアルバムを選択できます。この結果の最初のアルバムは、「ヨーロッパへの開発者の愛をもたらす」です。このアルバムの写真を見てみましょう。
写真を見る
この時点まで回答をたどっていれば、次のステップはかなり明白です。必要なアルバムにidを使用し、グラフのURLにphotosを追加します。
https://graph.facebook.com/10150160810478553/photos
写真のいいねを見る
アルバムを選択するのと同じように、上記のステップの出力でIDを使用し、URLにlikesを追加して、いいね!の写真を表示します。
https://graph.facebook.com/10150160813853553/likes
出力:
{
"data": [
{
"id": "1163036945",
"name": "Aditya Pn"
},
{
"id": "1555885347",
"name": "Nadin M\u00f6ller"
},
{
"id": "100001643068103",
"name": "Umut Ayg\u00fcn"
},
{
"id": "100000165334510",
"name": "Alessandra Milfont"
},
{
"id": "100001472353494",
"name": "Sayer Mohammad Naz"
},
{
"id": "1051008973",
"name": "Jenson Daniel Chambi"
},
{
"id": "100000233515895",
"name": "Ruby Atiga"
},
この出力を使用すると、データ配列のエントリ数を数えるだけで、同様の数を取得できます。
これはすべて、 graph Explorer を使用して、出力ボックスおよび接続サイドバー(exceptで最後の/ likesのID)をクリックすることで可能になることに注意してください。接続は、まもなく追加される予定です。これが役立つことを願っています。また、ページが公開されているため、これを行うためのアクセストークンは必要ありません。
Fieldsパラメータをlikes.limit(1).summary(true)
と組み合わせて使用すると、すべてのいいね!をページ分割することなく、コメント/いいねの数を取得できます。たとえば、下のピザの検索APIクエリでは、すべての公開投稿とそのいいね数が要約されます。
https://graph.facebook.com/search?q=pizza&type=post&fields=id,name,likes.limit(1).summary(true)
結果(切り捨て):
{
"data": [
{
"id": "47883936273_659693910762305",
"name": "Instagram",
"created_time": "2014-02-16T01:15:29+0000",
"likes": {
"data": [
{
"id": "100002243084532",
"name": "Yvette Martin"
}
],
"paging": {
"cursors": {
"after": "MTAwMDAyMjQzMDg0NTMy",
"before": "MTAwMDAyMjQzMDg0NTMy"
},
"next": "https://graph.facebook.com/47883936273_659693910762305/likes?limit=1&summary=1&after=MTAwMDAyMjQzMDg0NTMy"
},
"summary": {
"total_count": 13682
}
}
},
{
"id": "136336876521150_314001148754721",
"name": "Pizza Box Turns into Plates & Storage Unit!",
"created_time": "2014-02-15T21:20:00+0000",
"likes": {
"data": [
{
"id": "100005373008864",
"name": "Liliana Campoli"
}
],
"paging": {
"cursors": {
"after": "MTAwMDA1MzczMDA4ODY0",
"before": "MTAwMDA1MzczMDA4ODY0"
},
"next": "https://graph.facebook.com/136336876521150_314001148754721/likes?limit=1&summary=1&after=MTAwMDA1MzczMDA4ODY0"
},
"summary": {
"total_count": 2792
}
}
}
/ me/feedはLIKESフィールドを返します
LIKESを表示する配列内の項目の数を単に見つけるソリューションを使用しました
Object.keys(item.likes.data).length
これは、オブジェクトの「長さ」を返します。これは、いいね!の数と同じです。