こんにちは、サイオステクノロジー 佐藤 陽です。
今回は趣味全開の記事ということで、アスリート(※)向けSNSのStravaのAPIを取り上げたいと思います!
是非この記事を読んで、Stravaをもっともっと活用してもらえたらと思います。
※本記事において「アスリート」とは、『少しでも運動している人』と定義します。
たまにウォーキングする人なんかもアスリートです ε=┌( ・д・)┘.
今回、少し長くなりそうなので、以下の3本立てで考えています。
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 |
URL | https://www.strava.com/api/v3/athlete |
また、今回利用するトークンはBearerトークンであるため、Bearerと頭に着けてAuthorizationヘッダーに追加します。
この{{access token}}の箇所には、先ほど控えたアクセストークンの値を記載してください。
(PostmanのAuthorizationタブから設定してもらってもOKです)
Authorization | Bearer {{access token}} |
準備はこれだけです!
Sendボタンを押してみましょう!
すると200番のレスポンスが返ってきて、bodyにプロフィール情報が含まれています。
登録している名前や、アカウント作成日、アイコン画像なども取得できてますね。
他にも多くのAPIが用意されており、どれも使い方は同じです。
HTTPメソッドとURLを正しく設定してAPI実行すれば情報が取得できます。
まとめ
今回は導入部分という事で、簡単にAPIを使ってみました。
このAPIを使えばなんか面白そうな事ができそうですよね。
「こんなアプリ作ったら面白いんじゃない?」等あれば是非コメントください!
一緒にアプリ作って一山当てましょう!
ただ、現状だとアクセストークンを毎回手動で取得する必要があります。
これでは実際にアプリなどに組み込むことはできないですね。
StravaのAPIにはOAuthの仕組みが利用できるため、次の記事ではOAuthのフローを使ってアクセストークンの取得を試みたいと思います。