Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

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

makopo
StackOverflowや製品のフォーラム・Issueにはあるけど、日本語での情報が充実していないものを中心に載っけています。興味とお仕事の事情に応じて投稿技術の傾向が変わりますので、フォローされる方はご留意ください。
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
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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
ユーザーは見つかりませんでした