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

FitbitのPythonライブラリを作ったよ1

Last updated at Posted at 2024-12-22

はじめに

今までFit BitアプリからExcelに手入力したりしてデータをまとめていましたが流石に面倒臭いのでWEBAPIを使ってデータを取得してみようと考えました。先人がまとめてくれた記事などがありますが、公式ドキュメントは英語のみであったりFitBitがGoogleと統合されたりなど色々な理由から少し分かりずらくなってしまったので学習しつつ本記事を書いています。
Pythonのfitbitライブラリが軒並み最終更新日が何年も前になってしまっており、使えない機能が結構あったので結局自分でライブラリを作ってしまいました。このページは準備編ということで残しておきます。

準備

実行環境

ハードウェア OS Python
RaspberryPi4 Linux raspberrypi 6.6.62+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.62-1+rpt1 (2024-11-25) aarch64 GNU/Linux Python 3.11.2

アプリケーションの作成

  1. デベロッパーページにアクセスする。(参考URL参照)
    ※FitBitアカウントを持っていない人は先にFitBitアカウントを作成しておきましょう
  2. アプリケーションの作成
    デベロッパーページの「REGISTER AN APP」から必要情報を入力して作成。自分のデータを取得したいだけなら以下のような感じでOKです。
Application Name 適当な名前を入力
Description 適当な説明文を入力
Application Website URL http://localhost
Organization none
Organization Website URL http://localhost
Terms of Service URL http://localhost
Privacy Policy URL http://localhost
OAuth 2.0 Application Type Personal
Redirect URL http://localhost:8000
Default Access Type Read Only

アクセストークンの取得

  1. Fitbit OAuth 2.0 Tutorialページにアクセスする
    デベロッパーページの「MANAGE MY APPS」タブで、アプリケーションの作成で作成したアプリケーションをクリックし、OAuth 2.0 Tutorialのリンクをクリックする。
  2. App Settingsに以下を入力する
    1. Client ID
      • 作成したアプリケーションのOAuth 2.0 Client ID
    2. Application Type
      • Clientを選択
  3. Getting an Access Tokenで以下を入力する
    1. Step 1: Generate PKCE and State Values
      • PKCE Code VerifieのGENERATEをクリックする
      • StateのGENERATEをクリックする
  4. Step 2: Display Authorization Page
    1. Authorization URLのURLをクリックする
      • アクセス権の画面で全て許可を選択し許可をクリックする
      • ブラウザによるが「localhost 接続が拒否されました。」が表示されるが、次のステップで使用するためそのままにしておく
  5. Step 3: Handle the Redirect
    1. Authorization Codeに「localhost 接続が拒否されました。」のページのURLのhttp://localhost:8000/?code=<ここ>&state=〜 code=の部分の値を入力する
    2. Stateに「localhost 接続が拒否されました。」のページのURLのhttp://localhost:8000/?code=〜&state=<ここ> state=の部分の値を入力する
  6. Step 4: Get Tokens
    1. SUBMIT REQUESTをクリックする
      • Responseにエラーが表示されずにトークンが表示されていること
      • Responseの内容をToken.json(ファイル名はなんでも良いが)という名前でテキストファイルに保存する
  7. Access User Data
    1. SUBMIT REQUESTをクリックする
      • Responseにエラーが表示されずにあなたのプロフィールデータが表示されていること

Configファイルの作成

次の内容でConfig.jsonというファイルを作成する

Config.json
{
    "CLIENT_ID":"<作成したアプリケーションのOAuth 2.0 Client ID>",
    "CLIENT_SECRET":"<作成したアプリケーションのClient Secret>"
}

参考URL

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