StravaのAPIドキュメントのURLからすべてのアスリートアクティビティ(自分のアクティビティ)にアクセスできません。
私は自分の年初来の統計を取得することができます:
https://www.strava.com/api/v3/athletes/XXXXXXXX/stats?access_token=ACCESSTOKEN
プロフィール情報を取得できます:
https://www.strava.com/api/v3/athlete?access_token=ACCESSTOKEN
しかし、すべてのアクティビティを取得しようとすると:
https://www.strava.com/api/v3/athlete/activities?access_token=ACCESSTOKEN
次のエラーが表示されます。
{
"message": "Authorization Error",
"errors": [
{
"resource": "AccessToken",
"field": "activity:read_permission",
"code": "missing"
}
]
}
URLのどこかにクライアントIDまたは秘密鍵を含める必要がありますか?ログインしているので、自分の情報にアクセスできない理由がわかりません。お知らせ下さい????
2018年10月15日、Stravaは、 scope の新しいリストを導入する authorization プロセスを強化しました。
https://www.strava.com/settings/api にあるアクセストークンを使用していますか?
このトークンにはscope:read
がありますが、それはおそらくあなたが望むことをするのに十分ではありません(つまり、あなたのアクティビティは公開ですか、それとも非公開ですか?)。
異なるスコープの新しいトークンが必要な場合は、これらの steps に従う必要があります。
ステップ1:ユーザーをStravaの認証ページにリダイレクトします。
https://www.strava.com/oauth/authorize?
client_id=YOUR_CLIENT_ID&
redirect_uri=YOUR_CALLBACK_DOMAIN&
response_type=code&
scope=YOUR_SCOPE
ステップ2:応答からcode
パラメーターを読み取ります。
http://YOUR_CALLBACK_DOMAIN/?
state=&
code=AUTHORIZATION_CODE_FROM_STRAVA&
scope=YOUR_SCOPE
ステップ3:認証コードを含むPOST
を使用して新しいアクセストークンを要求します。 JSONレスポンスに新しいaccess_token
が見つかります。
https://www.strava.com/oauth/token?
client_id=YOUR_CLIENT_ID&
client_secret=YOUR_CLIENT_SECRET&
code=AUTHORIZATION_CODE_FROM_STRAVA&
grant_type=authorization_code
アプリケーションページ でクライアントID、クライアントシークレット、およびコールバックドメインを見つけることができます。
新しいスコープのリストは、この ドキュメント で見つけることができます。
あなたがあなたのアプリケーションを使用する唯一の人であれば、ブラウザとhttp://localhost
をコールバックドメインとして使用して、最初の2つのステップを手動で行うことができます。