fitbitmoves の API、どっちか触ってみたいなーと思ってたんですが、僕の周りでは fitbit の時代が終わりを告げようとしているので、moves の API で遊んでみることにしました。

遊んだ結果がこちら↓

labor-time


labor-time って何なの?

  • 自分の職場を登録することで、何時から何時までそこにいたのかわかっちゃううぇっぶアプリケーションです
  • 弊社の勤怠入力システムで勤怠をつけるとき、少しだけ楽してる気分になれます
  • ちなみに、Amon2 でできてます


つらいところ

  • 諸々の事情により、ひたすら重いところ
  • もちろん、moves を iPhone にインストールしてないと使えないところ
  • 職場の場所がちょっとずれたりする(後述)ので、働いてるのに働いてないことにされるところ


moves の API について

軽い総評

  • アプリ上で見れる情報はそれなりにとれるし、まあいいと思う
  • 詳しくは こちら

場所についての情報

  • ユーザーごとに一意の ID で管理されてる
  • とれるのは緯度と経度だけで、住所までは返してくれない
  • 同じ場所でも微妙に緯度と経度がずれちゃってるときがある
  • そうすると場所の ID も変わっちゃって、同じ場所が2つ!?みたいになる
  • けど実際はちょっとずれてるから仕方なくてつらい


まとめ

今回の目的は、

  • OAuth 周りの認証処理の部分含め、moves の API を触ってみること
  • Amon2 でこれくらいのうぇっぶアプリケーションがさらっとつくれるようになること
  • Perl で書いたうぇっぶアプリケーションを実際にサーバーで動かしたっていう成功体験をつくること
  • daemontools と戯れること

主にこんな感じだったので、まあ達成はしてるかなと。

他にも、月給を登録したら自動的に時給換算してくれたりする機能とかついたらそれなりに現実が見えて良いかなと思うのですが、ちょっと緯度・経度のあたりの問題のせいでさわやかには書けなさそうな気がしています。

気が向いたらまた手直ししてみようそうしようおやすみなさい。


※追記

大変見苦しいコードですが、GitHub で公開しました。