Upgrade to Pro — share decks privately, control downloads, hide ads and more …

電気自動車 Tesla の公式API をPostman から実行し、車両データを取得・分析して...

電気自動車 Tesla の公式API をPostman から実行し、車両データを取得・分析してみよう!

電気自動車Tesla の公式API をPostman から実行する方法を解説しつつ、このAPI を利用することでどんなデータが取得・分析できるのか? に迫ってみたいと思います。

Avatar for CData Software Japan

CData Software Japan

August 25, 2025
Tweet

More Decks by CData Software Japan

Other Decks in Technology

Transcript

  1. © 2024 CData Software Japan, LLC | www.cdata.com/jp 電気自動車 Tesla

    の公式API を活用して 車両データを取得・Tableau で分析してみよう! たぶらじ 2024/10/21 CData Software Japan Kazuya Sugimoto -Lead Engineer
  2. © 2024 CData Software Japan, LLC | www.cdata.com/jp みなさんTesla のAPI

    ってご存知ですか? https://www.teslaapi.io/
  3. © 2024 CData Software Japan, LLC | www.cdata.com/jp 電気自動車Tesla の様々なデータ・機能に

    アクセスすることができるAPI https://kageura.hatenadiary.jp/entry/teslaapihowtouse
  4. © 2024 CData Software Japan, LLC | www.cdata.com/jp ただ、このAPI は非公式・・・

    ・テスラモバイルアプリの内部で利用されているAPI をリバースエンジニアリングして仕様を明らかにしたア ンオフィシャルなAPI ・サードパーティが利用することを想定して作られて いるわけではない ・当初はOAuth のPassword Grant だったため、 サードパーティにID・PWを共有しなければいけな かった ・さらにAPI 用のAccess Token はかなり強力な 権限かつスコープも無いので、位置情報が見える のはもちろんのこと、鍵の開け締めもできてしまう
  5. © 2024 CData Software Japan, LLC | www.cdata.com/jp というわけで実際にTesla 公式API

    を試してみよう! そして取得したデータをTableau で分析してみよう! 本日お話したいこと
  6. © 2024 CData Software Japan, LLC | www.cdata.com/jp Tesla 公式API

    の使い方 Postman から試してみよう
  7. © 2024 CData Software Japan, LLC | www.cdata.com/jp Tesla 公式API

    を試すまでのステップ 1. 環境構築 2. テスラアカウントの作成 3. アプリケーションリクエストの作成 4. Public Key・Private Key ペアを作成・ホストする 5. OAuth 2.0 With PKCE でサードパーティトークンを生成 6. Tesla Fleet API へリクエストを行う
  8. © 2024 CData Software Japan, LLC | www.cdata.com/jp 本日の詳しい手順は Postman

    アドベントカレンダーで公開中! https://www.cdata.com/jp/blog/tesla-fleet-api-postman
  9. © 2024 CData Software Japan, LLC | www.cdata.com/jp 開発・本番環境の入手方法 https://ts.la/kazuya99717

    みんな悩む環境構築ですが、テスラはとっても簡単♪ URLにアクセスして、数クリックとクレジットカード情報を 入力するだけで入手できます♪
  10. © 2024 CData Software Japan, LLC | www.cdata.com/jp でも、どうしても環境構築が難しい場合は? Postman

    にはMock API を作る機能 があるよ! https://learning.postman.com/docs/designing-and- developing-your-api/mocking-data/setting-up-mock/
  11. © 2024 CData Software Japan, LLC | www.cdata.com/jp テスラアカウントの作成 https://www.tesla.com/ja_jp/

    環境を入手したら、テスラアカウントを準備 このアカウントを使って、API リクエストのために必要な OAuth のアプリケーション登録を行う 環境を入手している場合、すでにテスラアカウントは作っ ているものと思います 実は環境は持っていなくても、アカウント作成は可能な ので、おそらくアプリ作成はどんな人でも可能なのではな いか?
  12. © 2024 CData Software Japan, LLC | www.cdata.com/jp Public Key・Private

    Key ペアを作成・ホストする • Tesla APIの連携で一番面倒なのがここ • Tesla API のVehicle Commands(エアコンの ON/OFFやキーの開け締めのコマンド等)を実行す るために公開キー・秘密キーの利用プロセスが必要 • 予め公開キーと秘密キーを作成し、さらに公開キーを APIがアクセスできるパブリックなWebSiteの.well- known配下でホストする必要がある • 私は今回 Azure Static Web Appsを使って、下 記コマンドで生成した公開キーをホスト >openssl ecparam –name prime256v1 – genkey –noout –out private.pem >openssl ec -in private.pem -pubout -out public.pem
  13. © 2024 CData Software Japan, LLC | www.cdata.com/jp Public KeyをホストしたサイトをTesla

    API で登録 パートナー用アクセストークンをOAuth 2.0 のClient Credentials で取得 ホストしたWebSiteのドメインを partner_accoountsエンドポイントで登録 ※予めアプリのAllowed Originにも登録しておく
  14. © 2024 CData Software Japan, LLC | www.cdata.com/jp サードパーティトークンの取得 Property

    Value Token Name Tesla Fleet API Grant type Authorization Code (With PKCE) Callback URL https://oauth.pstmn.io/v1/callback Auth URL https://auth.tesla.com/oauth2/v3/authorize Access Token URL https://auth.tesla.com/oauth2/v3/token Client ID 作成したアプリのClient IDを指定 Client Secret 作成したアプリのClient Secret を指定 Code Challenge Method SHA-256 Code Verifier Automatically generated Scope openid offline_access vehicle_device_data vehicle_cmds vehicle_charging_cmds State (empty) Client Authentication Send client credentials in body 認証・認可方式がOAuth 2.0 With PKCE だけど、 Postman がうまくハンドリングしてくれる!
  15. © 2024 CData Software Japan, LLC | www.cdata.com/jp あとは取得したToken を使って実際にAPI

    を試す! 認可したユーザーが保有する車両の情報は以下の 「/api/1/vehicles」を使って取得可能 GET /api/1/vehicles HTTP/1.1 Host: fleet-api.prd.na.vn.cloud.tesla.com Authorization: Bearer {{サードパーティトークン}} 車両の詳細なデータが取得したい場合は GET /vehicles/{{id}}/vehicle_data ただし、Teslaが起動していないとすべてのデータが取得 できないので、予め起動する必要あり POST /vehicles/{{id}}/wake_up
  16. © 2024 CData Software Japan, LLC | www.cdata.com/jp データパイプラインツール・CData Sync

    を使って Tesla のデータを1分間隔でDB に収集・Tableau で可視化 REST API HTTP JSON SQL DWH CData Sync https://www.cdata.com/jp/sync/