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
          }

        }

      }
,

{以下省略}

}

 

 

これで、とりあえず自分に与えられた課題は完了。