Python Uber SDK在30天后不会根据刷新令牌更新访问令牌

时间:2017-08-28 19:11:30

标签: python oauth uber-api

我为Uber创建了一个脚本,它运行正常,直到我的访问令牌过期。 所以这是一段代码(几乎类似于Uber SDK https://github.com/uber/rides-python-sdk):

    session = Session(oauth2credential=OAuth2Credential(
        client_id=credential_dict.get('client_id'),
        access_token=credential_dict.get('access_token'),
        expires_in_seconds=credential_dict.get('expires_in_seconds'),
        scopes=credential_dict.get('scopes'),
        grant_type=credential_dict.get('grant_type'),
        redirect_url=credential_dict.get('redirect_url'),
        client_secret=credential_dict.get('client_secret'),
        refresh_token=credential_dict.get('refresh_token')))
    client = UberRidesClient(session)

使用过期的令牌我无法继续做任何事情,它会返回

uber_rides.errors.ClientError: 401: No authentication provided.

另外,我很困惑“当SDK使用UberRidesClient发出API请求时,SDK会自动处理令牌刷新。”

如何使用刷新令牌获取新的访问令牌?我可以再次授权它有效,但很烦人。

1 个答案:

答案 0 :(得分:0)

如果您使用令牌端点具有有效的刷新令牌,则可以获得新的访问令牌:https://login.uber.com/oauth/v2/token。有关更多信息,请查看优步documentation

"当用户的access_token已过期时,通过使用令牌端点"交换与access_token相关联的refresh_token来获取新的access_token。