LoginSignup
5
4

More than 3 years have passed since last update.

foursquare APIを使って2019年の行動を振り返ってみた

Last updated at Posted at 2019-12-20

この記事はアラタナアドベントカレンダー2019の21日目の記事です。

https___qiita-image-store.s3.ap-northeast-1.amazonaws.com_0_217773_5ef318e0-bd49-8f89-bafa-50b68dc7ffeb.jpeg

foursquare APIとは🐝

一言でまとめると、位置情報に基づいた情報を扱うことができるAPIです。
詳細は以下の公式ページで紹介されいるので、気になる方はそちらを御覧ください
https://developer.foursquare.com/

どのようなデータが扱えるのか

公式サイトから一部抜粋して翻訳したものが以下の表になります。

主な機能

機能 説明
Foursquareのグローバルデータベースへのアクセス 190か国、50の地域で利用可能な105MMを超える場所にリアルタイムでアクセスできます。
パワーアプリエクスペリエンス カスタムAPIエンドポイントを使用して、アプリでジオタグ付け、場所の検索、場所の推奨などを強化します。
記述的な場所のプロファイル Foursquareの消費者コミュニティが提供する70以上の会場属性と900以上のカテゴリを活用します。
豊富なユーザーコンテンツ ユーザーが作成したヒント、好み、写真などにアクセスして、魅力的なロケーションエクスペリエンスを作成します。

エンドポイント

エンドポイントには通常のエンドポイントとプレミアムエンドポイントの大きく2種類があります。

通常のエンドポイント😲

場所やお店のカテゴリーや名前といった基本的なデータにアクセスできます。

プレミアムエンドポイント😁

その場所への評価やURL、ユーザーが作成した写真や解説、いいねなどといった多くの情報にアクセスできます。

それぞれのエンドポイントの詳細は数が多くて紹介しきれないので、公式ページを御覧ください。

実際に触ってみた

今回はユーザー(自分)の過去に訪れた場所(チェックイン)の情報を使って見ようと思います。

今回はエンドポイントから情報を取得するまでの工程は省略しますが、気になる方はこちらの記事で非常に分かりやすくまとめてあるので気になる方はどうぞ。

立ちはだかる取得上限値の壁😾

取得できる件数の上限があったので、一回のリクエストで取得できる最大数である250回をパラメータで指定してあげたのですが、それでも4月から12月までの間の情報をすべて取得することができませんでした。

取得する期間を指定して解決😺

パラメータにUNIX TIMESTAMPを含めることで任意の期間からデータを取得することができたので、今回は2ヶ月ごとに区切ってチェックイン情報を取得してみました。(3ヶ月にすると上限値を超えてしまう場合があったため)

こうして取得できたレスポンスをJSONとしてダウンロードして中身を見ていくと面白い傾向が見えてきました...

2019年で行った場所(カテゴリ)

Figure_5.png

文字が小さくて見えにくいですが、一番多くチェックインしていたのが「オフィス」、次いで「コンビニ」、三番手が「食料品店(スーパー)」となりました。
全体的に飲食店が多いのが目に付きますね。。。
温泉・浴場・スパと行った娯楽施設にも多く足を運んでいたことが分かります。

外食のうち、和中洋の中で最も食べていたのは...

restaurant.png

2019年に一番行っていたコンビニは...

コンビニ.png

セブンが多いですね〜。

おまけ🍜

karamen.png

その数なんと...34回。
計測期間が4/1〜12/1の8ヶ月、日数にして約240日なので一週間に1回は食べていた計算になりますね😋

まとめ

今回は、簡易的なグラフを出力しただけでしたが、緯度経度や時系列なんかを使うっても面白いことができそうだなぁと思いました。
こまめにチェックインしていたつもりでしたが、スルーしてしまっていた場所もまだまだあったので、来年は忘れずにチェックインしていきたいですね〜

来年も同じように振り返って比較までしてみたい!

参考

Foursquare(Swarm) APIの使い方まとめ (サンプルコード付き

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4