Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
26
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

FitbitのOAuth 2.0 APIをPostmanで試してみる方法

Fitbitは、腕時計型の活動量計(心拍数計)です。以前、公式チュートリアルを使って試す方法を紹介しましたが、それよりも簡単ですので、お試しあれ。

0. Postmanのインストール

公式サイトからダウンロードします。Chromeの場合、Chrome拡張機能として提供されています。

以降の記事では、Chrome拡張機能としてインストールしたPostmanの画面を前提に説明します。

1. OAuth認証情報を作成

https://dev.fitbit.com/ にアクセスします。

F08E99F7-C0F5-4EC7-A148-ACE6D387EFAF.png

画面右上のREGISTER AN APPボタンをクリックすると、登録フォームが表示されます。

登録フォーム

基本的に、何か埋まっていれば良いです。ただし、以下の点に気をつけてください。

  • Descriptionは10文字以上
  • OAuth 2.0 Application TypeにはClientまたはPersonalを選択
  • Callback URLにはhttps://www.getpostman.com/oauth2/callbackを入力

Callback URLは、Postmanで使用する上記のURLを正確に入力しましょう。最後にスラッシュをつけたりしないように。

最後にあるRegisterボタンをクリックすると、登録完了画面が表示されます。

登録完了画面

PostmanでOAuth認証を行う場合は、ここにある全てが、次のステップで必要となります。

2. リクエストヘッダにOAuth認証情報を追加

Postmanを起動し、リクエスト生成画面を開きます。AuthorizationタブのTypeNo AuthからOAuth 2.0に変更して、オレンジ色のGet New Access Tokenボタンをクリックします。

Postman1

出てきたダイアログに、必要な項目を入力します。

Postman2

  • Callback URLを確認し、先ほど入れたものと違っていたら、Fitbitの登録情報を修正し、ここに表示されているものに合わせます。
  • Token Nameには、任意の文字を指定します。
  • Auth URLAccess Token URLClient IDClient Secretには、先ほどの登録完了画面で表示されていた内容を入力します。
  • Scope(Optional)には、activity heartrate location nutrition profile settings sleep social weightと入力します。
  • Grant TypeAuthorization Codeのままで結構です。

オレンジ色のRequest Tokenボタンをクリックすると、ブラウザが開き、Fitbitのログイン画面が表示されます。Fitbitのログイン情報を入力します。

ログイン

ログインが完了すると、アクセス許可を求められます。

許可

この画面でなく、「接続しようとしているアプリは Fitbit に有効なデータを提供しませんでした。この問題を報告してください。」と表示される場合は、Callback URLが合っているか、今一度確かめましょう。

許可ボタンをクリックすると、ブラウザが閉じ、Existing Tokensの後に作成されたトークンが表示されます。

トークン

トークン名をクリックして、右半分のAdd token toURLからHeaderに変更してから、オレンジ色のUse Tokenをクリックします。

隣のHeadersタブを開くと、Authorizationが追加されていて、値にトークンの内容が反映されています。

ヘッダ

ClientからPersonalに変更する場合、また、その逆の場合は、Get New Access Tokenからやり直す必要があります。ただ、Postmanは前回のトークン作成で指定した内容を覚えていますので、ボタンのクリックだけで簡単に再作成できます。

3. クエリの実行

API Document
https://dev.fitbit.com/docs/

PostmanのEnter request URL部分にURLを設定し、青のSendボタンをクリックすると、結果が返ってきます。ドキュメントのExample Request をそのままコピペして実行してみて、少しずつ変更していくのも良いでしょう。

例1:直近1週間の心拍数をゾーン別に取得

https://api.fitbit.com/1/user/-/activities/heart/date/today/7d.json

参考:Get Heart Rate Time Seriesの仕様
https://dev.fitbit.com/docs/heart-rate/#get-heart-rate-time-series

結果1

行番号横の小さな三角をクリックすると、要素を畳むことができます。Fitbitのレスポンスは長いため、ぜひ活用しましょう。

例2:2017年3月4日15時55分の心拍数を取得

Personalを指定してFitbitアプリを登録してある必要があります。

https://api.fitbit.com/1/user/-/activities/heart/date/2017-03-04/1d/1sec/time/15:55/15:56.json

参考:Get Heart Rate Intraday Time Seriesの仕様
https://dev.fitbit.com/docs/heart-rate/#get-heart-rate-intraday-time-series

結果2

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
26
Help us understand the problem. What are the problem?