facebookのイイね数、はてブ数、twitterのツィート数を Google Apps Script で集計して、Google SpreadSheet に入れる
ブログを書いていたりすると、facebookのイイねとか、はてブとか、twitterでのツィート数とか、少し気になります。もしかすると、会社でブログを書いたり、ウェブサービスを運用されている方だと、集計して効果測定を出せ、とか言われたりするんじゃないでしょうか。
そこで、開発担当だと、APIで「イイね」数を取得して、データーベースに保存すればいいんだと思うんですけれど…DBとかに保存するとなると、マーケティング部とか、広報部とかの人にとっては、不便そうだなあ、と。 というわけで、Google Apps Script で集計して、Google SpredSheet に保存すればいいんじゃないかと。
Google Apps Script の設定
「ツール」→「スクリプトエディタ」を選んで、下記のスクリプトを登録します。
Google SpredSheet の実行結果
A列のセルに、URLを入れます。 あとは、function() をセルに設定します。下記のような記載をします
- =is_count_facebook(A1)
- =is_count_hatenabookmark(A1)
- =is_count_tweet(A1)
という感じです。 これで、実行してみると、下記の画面キャプチャーのようになります。 ちなみに、自分のブログだと、あまりにもイイねとか、無いので、id:naoyaさんのエントリーでテスト集計しております
注意点
ところで、このスクリプトの注意点は、
<meta property="fb:app_id" content="xxxxx" />
という設定がしてあると、facebookのイイね数が取得できません。 というのは、graph.facebook.com から返ってくる形式が違うんですよね… FQL を使ってであれば、XML形式で値が取れるようなんですが、パースが面倒じゃないかと(いい方法があるかもしれないんですが)。
ここは、課題じゃないかと思います。
Google Apps Script のスクリプト
/** * facebook Like * */ function is_count_facebook(cell) { var url = cell; // facebook Like var facebook_response = UrlFetchApp.fetch("http://graph.facebook.com/?id=" + url); return JSON.parse(facebook_response)['shares']; } /** * はてなブックマーク数 * */ function is_count_hatenabookmark(cell) { var url = cell; var hatena_response = UrlFetchApp.fetch("http://b.hatena.ne.jp/entry/jsonlite/?url=" + url); if(hatena_response != 'null') { return JSON.parse(hatena_response)['count']; }else{ return 0; } } /** * tweet数 * */ function is_count_tweet(cell) { var url = cell; var twitter_response = UrlFetchApp.fetch("http://urls.api.twitter.com/1/urls/count.json?url=" + url); return JSON.parse(twitter_response)['count']; }
書籍
- 作者: 横山隆司
- 出版社/メーカー: 秀和システム
- 発売日: 2013/01
- メディア: 単行本
- この商品を含むブログ (1件) を見る