我为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会自动处理令牌刷新。”
如何使用刷新令牌获取新的访问令牌?我可以再次授权它有效,但很烦人。
答案 0 :(得分:0)
如果您使用令牌端点具有有效的刷新令牌,则可以获得新的访问令牌:https://login.uber.com/oauth/v2/token。有关更多信息,请查看优步documentation。
"当用户的access_token已过期时,通过使用令牌端点"交换与access_token相关联的refresh_token来获取新的access_token。