0
1

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 3 years have passed since last update.

Nike Run ClubのデータをApiで抽出してみた

Last updated at Posted at 2021-05-22

背景

過去の走行データを解析したくてApiを探したがNikeRunClub(以下,NRC)には公式APIはない模様.
ただ,Bearer認証等をうまく準備すれば自作APIでデータ抽出できたのでここに纏めておく.
意外だが,日本語の記事は結構古いのしか見当たらなかった.
(注釈)非公式なのでサーバに負荷をかける使い方はやめておきましょう あくまで自分のデータを抽出するだけ

[参考]
 https://yasoob.me/posts/nike-run-club-data-visualization/
 https://gist.github.com/niw/858c1ecaef89858893681e46db63db66
[環境]
macOS Big Sur version11.5 Beta
MacBook 2017model

前準備

NRCを使っていてデータがあること.
NikeRunのWebサイトのユーザidとパスがわかること(NRCと同じアカウントが必要です)

やり方

[スクリプトの準備]
・次のシェルスクリプトを自分のローカルにダウンロードする (https://gist.github.com/niw/858c1ecaef89858893681e46db63db66)
※シェルの実行にはJqueryが必要です 実行時に無ければ要求されるので brew install jq でインストールしてください.

[Bearer認証トークンの準備]
・ブラウザの開発ツールを開いてから次のサイトを開いてください→https://www.nike.com/member/profile
 ※開発ツールはブラウザ上部のdevelop>Show Web Inspecter から開けます
・ログインを実行してから api.nike.comのドメインとやり取りしたパケットを確認してください.
 Authorizationの箇所にトークンが記載されているのでコピーして自分のローカルに保存してください.
 ※"Bearer"の文言以下をコピーしてください.
 2021年5月現在,下記の図表のトークンよりももっと長いトークンになっていますが動作します
image.png
https://yasoob.me/images/nike.png

[スクリプトの実行]
・コピーしたトークンを引数にとって,スクリプトを実行してください.(Bearer Tokenは上で取得したトークンに置き換えること)
./fetch_nike_puls_all_activities.bash {Bearer token}
 ※実行権限を要求される場合は,chmod u+x ./fetch_nike_plus_all_activities.bash

・うまく動作すると下記の感じでjsonファイルが走行データ分だけ取得できます.
Screen Shot 2021-05-23 at 8.36.38.png

最後に

jsonファイルはフォーマットして使って下さい.そのままだと見にくい...
まだ,何もできていないのですが,ほしい情報はだいたいありそうな印象
自分の場合は,朝はタイム出ないなーとか思っていたので,そこを解析したかったのがキッカケ
また,いい感じに処理できる方法があれば纏めてみようかと思う

[わかっていないこと]
そもそもBearer認証とは... https://qiita.com/h_tyokinuhata/items/ab8e0337085997be04b1

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?