For Want Of A Better Word

Facebookのいいねの数を取得して、ブログ内のいいねランキングを作成したい

      2015/04/19

ということで、調べると。
【参考】http://blog.godvalley.me/archives/1287

そもそも、APIを使ってWEB経由で「特定ページのいいねの数」を取得する方法は、大きく下記2つ。

  • GrapAPIで取得。

  • FQLをクエリーとして発行

FQL文例

SELECT url, normalized_url, share_count, like_count, comment_count,
total_count,commentsbox_count, comments_fbid, click_count FROM link_stat
WHERE url=”http://d.hatena.ne.jp/fz6/

基本は1ページずつだけど、1回のリクエストに複数URLを渡すこともできるみたい。
でも、URL一覧なんて持ってない。
ひらめいた!
SQLみたいな文(FQL)なんだからなんだから、URLでgroup byすればいいんじゃね!!!!!と思ったけど。。

http://stackoverflow.com/questions/10107818/group-by-clause-in-fql/10107977#10107977

group byはないってさ。

で、どちらにしろ、全ページのURLを自前で持っていて、そのページひとつずつデータを取得して、プログラム側でソートして、順位をつけるということが必要になりそう。

となると、1000ページとかなると、バッチの実行になるよね。
バッチ持ちたくないなぁ。
facebookさんは任せておけみたいな感じ↓

http://fb.dev-plus.jp/reference/coreconcepts/api/batch/

バッチ持ちたくないけど、ページ一覧用のバッチとfacebookデータ取得用のバッチ2つが必要かなぁ。。。

(追記)

結局、サイトマップからURL一覧のテーブル作って、
そのテーブルをもとに、ひたすらFacebookに問い合わせして、「いいね数」を取得してテーブルに保存するバッチを作りました。

ランキングを表示するときは、そこからデータを取って表示という感じ。
プログラムからのリクエストの発行は下記でOK。(xml形式)

 - facebook

  関連記事

no image
Facebookインサイトを利用するための条件とは

会社でfacebookの管理者みたいなこともしているのだけれども、色々ためしたい …

no image
【記念】 facebookが落ちた時のSorry画面キャプチャ

日本時間 2014/6/19 16:50分ぐらいから17:25分頃までfcebo …

no image
任意のURLのソーシャルボタンを表示(facebook,twitter)

メモ 【】の部分を置き換えればOK。 ■facebook [crayon-58d …

no image
facebookページに「いいね」してくれたユーザーを確認したい

以前はインサイトから見られたはずが、最近見られなくなった。(と思う。) ちょっと …

no image
facebook ページ管理者と個人アカウントの切り替え

facebookページ管理者になると、ページで「管理者」いいねとか、シェアとかし …