hitode909の日記

以前はプログラミング日記でしたが、今は子育て日記です

fitbitのAPIから心拍数をとってきてツイートできてついでに心拍数ぴったりのBPMのYouTube動画を見れるウェブサービス作った

せっかくfitbitで心拍数を取ってるのに,友達に共有できないのはもったいない!!ということで,心拍数をツイートできるウェブサービス作った.

OAuthで認証して,心拍数を測るボタンを押すと,こういうツイートができる.

BPMごとのページができて,心拍数にぴったりのYouTube動画を閲覧できて便利.心拍数が80といわれても,どんな雰囲気なのかよくわからないけど,BPMがぴったりの曲が流れると,さぼってるとか,がんばってるとか,そういう雰囲気が分かると思う.
BPM73くらいだとおだやかなリラクゼーションという感じ.

BPM100くらいになると元気な感じ.階段登ってるときはこういう雰囲気.

今朝走ってたら心拍数140くらいになったけど,そのときはこういうチャラい曲が流れてのかと思うとだいぶつらい.

というかんじです.Charge HR持ってる人は使ってみてください.持ってなかったら買えば無料で使える.

実装

前はfitgemというRubyのfitbitのライブラリを使ってみたけど,心拍数0が返ってきて,どうも壊れてるようだった.
omniauth-fitbit-oauth2という便利ライブラリがあったので,これで認証して,あとはOAuth2.0なので,普通にAuthorizationヘッダをつける作戦でうまくいった.
BPM130の曲を探すのは,YouTubeのAPIに,「BPM 130」とか入れて検索してる.ちゃんとぴったりのBPMが返ってきておもしろい.
API叩くの成功してから3時間くらいでリリースできた.

APIから取れる心拍情報の粒度

OAuthのアプリケーションのScopeをPersonalにしたときだけ,アプリケーションの持ち主だけ毎分や毎秒の心拍数を取れるようだった.
今回は,ScopeをPersonalにしたので,僕だけリアルタイムの心拍数をツイートできる.そうでない人は,今日の安静時の心拍数をツイートできる(つらい).
使いたい人はメールしてね,ということだったけど,まあ使いたい人もいないだろうということでやってない.


返ってくるデータこんな感じで,けっこういい精度で返してくれるので,いろいろ遊べそう.