Strava APIを活用したアプリ開発 ~お試し編~

◆ Live配信スケジュール ◆
サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。
⇒ 詳細スケジュールはこちらから
⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください
【6/19開催】Kong Community Japan Meetup #4
本イベントでは、Kong Inc. のVP of ProductであるReza Shafii氏もプレゼンターとして参加。当社からはアーキテクト マネージャーの槌野の登壇が決定!参加無料です!!
https://column.api-ecosystem.sios.jp/connect/kong/1081/

【6/21開催】開発者目線でのSBOMとの向き合い方
SBOMの導入から開発者がSBOMの作成・管理を自動で行っていくための方法(デモ)を紹介します。SBOMを全く知らない人から、開発との統合までを紹介するので様々なレベルの方に学びがあるライブとなる予定です!
https://tech-lab.connpass.com/event/321422/

【7/19開催】現場で役立つAzure神小技10+α 〜生成AI,RAG,コスト削減など旬な技術満載のLT大会〜
Azureの最新技術や実用的な小技を紹介する特別なライトニングトーク大会を開催します!
https://tech-lab.connpass.com/event/319077/

【7/26開催】最適なIaCツールを選ぼう
プロジェクトでのツール選びに困らないための重要な観点をご説明します!
https://tech-lab.connpass.com/event/319532/

こんにちは、サイオステクノロジー 佐藤 陽です。
今回は趣味全開の記事ということで、アスリート(※)向けSNSのStravaのAPIを取り上げたいと思います!
是非この記事を読んで、Stravaをもっともっと活用してもらえたらと思います。

※本記事において「アスリート」とは、『少しでも運動している人』と定義します。
たまにウォーキングする人なんかもアスリートです ε=┌( ・д・)┘.

今回、少し長くなりそうなので、以下の3本立てで考えています。

  1. 【お試し編】とりあえずStravaのAPI使ってみよう! ←今回
  2. 【実践編】OAuthの認可フローを使ってみよう!
  3. 【発展編】Azure上でアプリを構築してみよう!

Stravaとは?

Stravaって何?という方も多いと思うので、簡単に説明します。
Stavaは簡単に言ってしまうと、アスリート向けのSNSです。

ランニングやサイクリングなどの様々なアクティビティを記録し、それらをユーザー間で共有することができます。

FacebookやInstagramでは日常の出来事などをシェアすることが多いかと思いますが、それらが運動の記録に置き換わったようなイメージを持ってもらえればOKかと思います。

現在、全世界中で1億人近いユーザーが存在し、プロ・アマ問わず多くのアスリートに利用されています。

StravaのAPI

そんなStravaですが、なんとAPIが公開されており、誰でも無償で使用することができます。
今回はそのAPIを活用し、自分でアプリを作っていってみようという企画です。

本記事はその第一弾として、

  • API利用の始め方
  • 実際に使ってみる

といった所をご紹介していきます。

なお、APIに関するDocument類も英語とはいえ非常に充実しており
今回はこれに沿って解説していきます。

API利用の始め方

APIを使うためには、APIキーなどをStravaから払いだしてもらう必要があります。
そのためには、まずStravaアカウントが必要になるので持っていない人は作成しましょう。

Stravaにログインした後、設定画面へ飛びMy API アプリケーションを選択します。
ここで必要事項を入力し、アプリケーションを新規に作成しましょう。

アプリケーションURLや、コールバックドメインは現状localhostを入力しておけばOKです。
以下の画像では既にアプリを作成してしまっていますが、同じような入力フォームとなっているかと思われます。

作成が完了したらMy API アプリケーションのページに、「あなたのアクセストークン」という項目があると思います。
このアクセストークンがAPIを実行するにあたり必要となるため、控えておきましょう。
なお、このトークンには有効期限があるため、時間がたった後は再取得してください。

これでAPIを実行する準備は整いました。

実際に使ってみる

続いて、実際にAPIを実行したいと思います。

Document から実行するAPIを選択します。
今回は、プロフィール情報を取得する Get Authenticated AthleteのAPIを実行してみたいと思います。


Documentの右側にあるHTTPieの項目からURL「https://www.strava.com/api/v3/athlete」をコピーします。

また今回、APIの実行に当たってはPostmanを活用していきたいと思うので
Postmanを起動し、新規Requestを作成し以下のように設定します。

HTTPメソッドGET
URLhttps://www.strava.com/api/v3/athlete

また、今回利用するトークンはBearerトークンであるため、Bearerと頭に着けてAuthorizationヘッダーに追加します。
この{{access token}}の箇所には、先ほど控えたアクセストークンの値を記載してください。
(PostmanのAuthorizationタブから設定してもらってもOKです)

AuthorizationBearer {{access token}}

準備はこれだけです!
Sendボタンを押してみましょう!

すると200番のレスポンスが返ってきて、bodyにプロフィール情報が含まれています。
登録している名前や、アカウント作成日、アイコン画像なども取得できてますね。

他にも多くのAPIが用意されており、どれも使い方は同じです。
HTTPメソッドとURLを正しく設定してAPI実行すれば情報が取得できます。

まとめ

今回は導入部分という事で、簡単にAPIを使ってみました。
このAPIを使えばなんか面白そうな事ができそうですよね。
「こんなアプリ作ったら面白いんじゃない?」等あれば是非コメントください!
一緒にアプリ作って一山当てましょう!

ただ、現状だとアクセストークンを毎回手動で取得する必要があります。
これでは実際にアプリなどに組み込むことはできないですね。

StravaのAPIにはOAuthの仕組みが利用できるため、次の記事ではOAuthのフローを使ってアクセストークンの取得を試みたいと思います。

アバター画像
About 佐藤 陽 57 Articles
ロードバイクやランニングなど、走ることが好きなサーバーサイドエンジニア。組み込み系からWeb系へとジョブチェンジし、現在はAzureを使ったWebアプリの開発や、DevOpsの構築を行っています。
ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。


ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!

Be the first to comment

Leave a Reply

Your email address will not be published.


*


質問はこちら 閉じる