過去1000件のFoursquareチェックイン履歴をD3.jsで可視化してみた
WEB+DB PRESS Vol.76 のD3.jsの記事をちょっと試したかっただけだったの です。 D3.js自体は記事のとおりに書けば理解出来ましたが、「過去1000件の Foursquareチェックイン履歴」を取ってくるのに難儀しました。記事では さらっと書いてあるだけですねw どうにかしてoauth_tokenを取得する 私は http://tdoc.info/foursquare-API/authentication.html を参考にし て、泥臭く手に入れました。Twitterだと簡単なのにね。 https://developer.foursquare.com/ にアクセスし、適当なマイアプリを作る。 以下にアクセスし、“code"を取得する(長いので改行入れてます)。 https://foursquare.com/oauth2/authenticate?client_id=<Client ID> &response_type=code&redirect_uri=<Redirect URI> ブラウザのアドレスバーに"code"が表示されるので、以下にアクセスす る(長いので改行入れてます)。 https://foursquare.com/oauth2/access_token?client_id=<Client ID> &client_secret=<Client secret>&grant_type=authorization_code &redirect_uri=<Redirect URI>&code=<2で取得したコード> oauth_tokenを取得出来た! {"access_token":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"} 過去1000件のFoursquareチェックイン履歴を取得する foursquare2 gemをインストールする。 % gem install foursquare2 取得できるか確認。 JSONフォーマットにしつつ、緯度と経度を取得する。 https://developer.foursquare.com/docs/users/checkins によると、 250ずつしか取得できないようなので、小分けにして取得。 こんなデータが取得できるはず。 [ {"coordinates": [139.645709, 35.667857]}, {"coordinates": [139.645709, 35.667857]}, {"coordinates": [139.641393, 35.666568]}, ... ] エラー吐いて972件しか取得できなかったけど、まあ良しとする。 JSONなので最後の”},“を”}“に置換するのを忘れずに。。 D3.js使って可視化 ここまでくれば記事のとおりにコードを書くだけです。こんな感じ で可視 化出来ます。ドラッグやズームイン・アウトにも対応しています☆ これ試したのは少し前なので忘れてましたが、日本地図を作るのもやや面 倒でした。Homebrewでgdalをインストールするのにかなり時間がかかると いう。。 D3.jsの本 PDF版は無料で入手することが出来ます。 [を] 【書評・感想】Getting Started with D3 eBook こちらはKindle版です。