LoginSignup
16
11

More than 5 years have passed since last update.

Node.jsでFitBit APIから今日の歩数を取得する

Last updated at Posted at 2017-06-19

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の部類になるのか自問自答しながら何か作ってみます。

今日全然あるいてないなぁ...

16
11
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
16
11