You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python自动获取Strava API授权流程返回的授权码?

Strava API授权码自动获取Python实现方案

前置说明

你配置的回调地址指向本地127.0.0.1:5000服务,授权码是Strava完成用户授权后,通过回调请求的URL参数携带回来的,获取授权码本身不需要用到requests库,requests仅在后续用授权码兑换访问令牌时需要使用。

实现步骤

  • 用轻量web框架Flask启动本地服务,监听127.0.0.1:5000端口的/authorization路径请求
  • 启动服务后打印授权URL,引导用户在浏览器完成授权操作
  • 接收Strava的回调请求,直接从查询参数中提取code字段即为所需授权码

完整实现代码

首先安装依赖:
pip install flask requests

然后运行以下代码:

from flask import Flask, request
import requests

app = Flask(__name__)

# 替换为你自己的Strava配置,已匹配你提供的公开参数
CLIENT_ID = "71724"
CLIENT_SECRET = "替换为你自己的Strava客户端密钥"
REDIRECT_URI = "http://127.0.0.1:5000/authorization"

# 授权URL和你提供的完全一致
AUTH_URL = f"https://www.strava.com/oauth/authorize?client_id={CLIENT_ID}&redirect_uri=http%3A%2F%2F127.0.0.1%3A5000%2Fauthorization&approval_prompt=auto&response_type=code&scope=read_all%2Cprofile%3Aread_all%2Cactivity%3Aread_all"

# 回调接收接口
@app.route("/authorization")
def get_authorization_code():
    # 直接从回调URL的查询参数中提取授权码
    auth_code = request.args.get("code")
    if not auth_code:
        return "授权失败,未获取到授权码", 400
    # 控制台打印获取到的授权码
    print(f"成功获取授权码: {auth_code}")
    
    # -------------- 可选步骤:用授权码兑换access_token(需要用到requests) --------------
    token_url = "https://www.strava.com/oauth/token"
    payload = {
        "client_id": CLIENT_ID,
        "client_secret": CLIENT_SECRET,
        "code": auth_code,
        "grant_type": "authorization_code"
    }
    response = requests.post(token_url, data=payload)
    token_data = response.json()
    print(f"获取到的访问令牌: {token_data.get('access_token')}")
    # -------------------------------------------------------------------
    
    return f"授权成功,授权码已获取: {auth_code}", 200

if __name__ == "__main__":
    print(f"请点击以下链接完成Strava授权:\n{AUTH_URL}")
    # 启动本地服务
    app.run(port=5000, debug=False)

运行说明

  • 运行代码后,复制控制台打印的授权URL到浏览器,登录你的Strava账号并确认授权
  • 授权完成后会自动跳转到本地服务页面,控制台会直接打印获取到的授权码
  • 可选的令牌兑换逻辑只需要补充你自己的CLIENT_SECRET即可正常运行

内容的提问来源于stack exchange,提问作者Lash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 03:24:01