背景
過去の走行データを解析したくて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月現在,下記の図表のトークンよりももっと長いトークンになっていますが動作します
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ファイルが走行データ分だけ取得できます.
最後に
jsonファイルはフォーマットして使って下さい.そのままだと見にくい...
まだ,何もできていないのですが,ほしい情報はだいたいありそうな印象
自分の場合は,朝はタイム出ないなーとか思っていたので,そこを解析したかったのがキッカケ
また,いい感じに処理できる方法があれば纏めてみようかと思う
[わかっていないこと]
そもそもBearer認証とは... https://qiita.com/h_tyokinuhata/items/ab8e0337085997be04b1