【问题标题】:Refresh Access Token Python-Fitbit (Orcasgit)刷新访问令牌 Python-Fitbit (Orcasgit)
【发布时间】:2016-08-05 11:16:07
【问题描述】:
我不知道如何使用这个来刷新我的访问令牌: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)
我已经四处寻找答案,所以任何帮助都将不胜感激。
【问题讨论】:
标签:
python
oauth-2.0
fitbit
【解决方案1】:
问题不在于您的代码,当您使用旧的刷新令牌生成访问令牌时,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