2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Fitbit】Fitbit APIで日中データを取得しようとするとエラーが出る(insufficient_permissions)

Posted at

どうも、こんにちは。
この世界のどこかで掲題の件で困っている人がいると思い、記事を書かせていただきました。
自分の経験が助けになればうれしいです。

事象

ご存じ、ウェアラブルデバイスのFitbitにはWeb APIが用意されており、呼び出すことでFitbitに蓄積されたデータを気軽に取得できるのです。
Fitbit APIについて

※APIの叩き方については以下を参考にさせていただきました
Fitbit Web APIを利用して心拍数の生データを取得する方法【動画版あり】

そんなFitbit APIを使って開発(ユーザー登録してもらった人の心拍数などを取得してグラフ表示するようなアプリ)をしている中で事件は起きました。
以下のエンドポイントに対してリクエストを送りました。(指定された日中の時間の心拍数のデータを取得する)

GET https://api.fitbit.com/1/user/-/activities/heart/date/2022-08-01/1d/1min/time/08:00/08:30.json

すると以下のエラーが。

  {
    errorType: 'insufficient_permissions',
    message: 'API client is not authorized by Fitbit to access the resource requested. Visit https://dev.fitbit.com/docs/oauth2 for more information on the Fitbit Web API authorization process.'
  }

むむ・・・

状況

  • Fitbitに登録しているアプリケーションのOauth2.0 Application Typeは「Server」
    fitbit登録画面.png
  • Fitbitの認証画面にて、心拍数(HeartRate)を取得する許可は設定済み
    fitbit認証画面.png

原因

日中のFitbitデータを取得するためにはFitbitへの申請が必要でした(Oauth2.0 Application Typeが「Personal」以外の場合)

※「Personal」の場合は、申請を行わなくても情報取得が可能です。

解決方法

以下の申請画面から必要な情報を入力し、Fitbitに提出します。(英語のフォームになっているので、英語で各情報を入力しました)
申請画面

提出後、大体2週間(10営業日)ちょっと経つと、Fitbitから「日中データ取得してもいいよー」という旨のメールが来ます。(自分の場合はそうでした、早くなることもある)
※審査?にかなり時間がかかるので、もし開発に期限がある場合は早めに申請を行うことをお勧めします。
そのあと、Fitbit Web APIを呼び出すと日中のデータが取得できるようになります。やったー。

最後に

Fitbit、いいですよね。
Fitbit Web APIの確認をするためにわざわざ運動しました。
ついでに健康になれてよかったです。

2
0
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
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?