Help us understand the problem. What is going on with this article?

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

この記事はアラタナアドベントカレンダー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の使い方まとめ (サンプルコード付き

naoya_s
宮崎在住のバックエンドエンジニア♨🌴
zozotech
70億人のファッションを技術の力で変えていく
https://tech.zozo.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした