刷新访问令牌PythonFitbit(Orcasgit)

2024-09-26 17:57:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我不知道如何使用这个来刷新我的访问令牌:https://github.com/orcasgit/python-fitbit

我可以获得我的访问令牌和刷新令牌。我还可以从fitbit获取数据。但是当我的访问令牌过期后,我就迷路了。我想我应该创建一个FitbitOauth2Client对象,并使用refresh_token函数来获取一个新的令牌。下面是我最接近的。在

tokenfresh=fitbit.FitbitOauth2Client(client_id=ci,client_secret=consumer_secret,access_token=at,refresh_token=rt)

我到处寻找答案,所以任何帮助都将不胜感激。在


Tags: 对象函数httpsgithubcomclienttokenid
1条回答
网友
1楼 · 发布于 2024-09-26 17:57:10

问题不在于您的代码,当您使用旧的刷新令牌生成访问令牌时,FitBit提供了一个新的刷新令牌。为了使代码正常工作,您应该跟踪此刷新令牌。 例如

def fitbit_data(credentials):
    client_id = os.environ.get("FITBIT_CLIENT_ID")
    client_secret = os.environ.get("FITBIT_CLIENT_SECRET")

    oauth = fitbit.FitbitOauth2Client(client_id=client_id,
                                      client_secret=client_secret,
                                      refresh_token=str(credentials.get('refresh_token')),
                                      access_token=str(credentials.get('access_token')))
    token = oauth.refresh_token()
    update_refresh_token(token)

    app_client = fitbit.Fitbit(client_id=client_id, client_secret=client_secret,
                           access_token=token.access_token, refresh_token=token.refresh_token)
    steps = app_client.time_series(
        resource='activities/steps',
        period='1d'
    )
    return steps

相关问题 更多 >

    热门问题