GraphAPIを利用してシェア・いいね!の件数を取得する。
使うのはGraphAPI。APIを操作できるGUIが用意されているので、ここで試してみます。
https://developers.facebook.com/tools/explorer
最初に、 取得したいFacebookページのIDを調べる
https://graph.facebook.com/v2.4/https://www.facebook.com/kimatetsu
→取得結果(「きま鉄」の理由は、現在参加しているビックデータ分科会の研究テーマ?のため。)
{
"name": "きまぐれ鉄道ぶらり旅(きま鉄)",
"id": "285904144822648"
}
あとは、GUIに従って欲しい情報を取得する。が、投稿に対していいねしたユーザID一覧は取得できるが、合計数がとれない。。。
ググったら、同じことで悩んでいる人がいたためこれを参考にした。
How to get Likes Count when searching Facebook Graph API with search=xxx - Stack Overflow
投稿メッセージ内容、投稿日時が欲しかったため、追加して、
いいねしてくれたユーザ、シェアしてくれたユーザのID情報はいらなかったので、
limit(0)に修正。
Getパラメタの設定
https://graph.facebook.com285904144822648?fields=id,name,feed{message,created_time,comments.limit(0).summary(true),likes.limit(0).summary(true)}
取得データ。JSON型
{
"id": "285904144822648",
"name": "きまぐれ鉄道ぶらり旅(きま鉄)",
"feed": {
"data": [
{
"message": "【振り子ロマン】雄大な日高山脈をバックに、軽快にカーブを駆け抜けるスーパーおおぞら(^o^)車両の屋根はスッキリしてますね~ 車体の赤色は丹頂鶴のイメージだそうです(^^)(撮影:特派員K)",
"created_time": "2015-07-14T21:15:09+0000",
"id": "285904144822648_877168342362889",
"likes": {
"data": [
],
"summary": {
"total_count": 1880,
"can_like": true,
"has_liked": false
}
},
"comments": {
"data": [
],
"summary": {
"order": "ranked",
"total_count": 14,
"can_comment": true
}
}
},
{以下省略}
}
これで、とりあえず自分に与えられた課題は完了。