FitBitのアクセストークンを取得したらcurlなどでも値を取得できるのでどんな言語からでもFitBitのデータにアクセスできます。
準備
- アクセストークン取得
アクセストークン取得はFitbitのAPIを手っ取り早く試してみる方法この記事がわかりやすかったです。
- インストール
$ npm init -y
$ npm init --save axios
コード
https://dev.fitbit.com/docs/activity/ を見るとactivities/steps
が歩数を取得するAPIであることがわかります。
/user/-/activities/steps/date/today/1m.json
の指定だと直近1ヶ月の日毎の歩数を取得できます。
app.js
'use strcit';
const axios = require('axios');
const TOKEN = `アクセストークン`;
const CONFIG = {
baseURL: 'https://api.fitbit.com/1',
url: '/user/-/activities/steps/date/today/1m.json',
method: 'get',
headers: {'Authorization': `Bearer ${TOKEN}`}
};
axios.request(CONFIG).then((res)=>{
const items = res.data['activities-steps'];
const lastItem = items[items.length-1];
console.log(`日付: ${lastItem.dateTime}, 歩数: ${lastItem.value}`)
});
res.data['activities-steps']
に1ヶ月間のデータが入ってきます。
最新の状態にFitBitを同期していることが前提ですが、最新の値を取得すると今日の歩数を取得したことになります。
実行
$ node app.js
日付: 2017-06-19, 歩数: 4722
所感
エンタープライズIoTLT #8 ヘルスケアIoTLT @デジハリで何か話すべく、試してみています。
FitBitはAPIドキュメントや事例などが日本語の情報が少なすぎてなかなか手を出しにくいイメージでしたが参考にした記事など、分かりやすい記事も増えて来ていて昔ほどハードルは無いようにも感じました。
FitBit使って何かしてればヘルスケアIoTの部類になるのか自問自答しながら何か作ってみます。
今日全然あるいてないなぁ...