Обновить токен доступа Python-Fitbit (Orcasgit)

Я не могу понять, как обновить мой токен доступа, используя это: 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)

Я искал ответ, поэтому любая помощь будет высоко ценится.

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
Другие вопросы по тегам