使用python的优步API无效范围错误

时间:2017-10-14 21:03:41

标签: python uber-api

我是优步驱动程序,我正在开发一个python代码,以便使用API​​ Uber来检索驱动程序历史记录。我已经看过文档,我已经将第一个代码编写到第一步auth:

from uber_rides.auth import AuthorizationCodeGrant
auth_flow = AuthorizationCodeGrant(
'my_client_id',
'partner.trips',
'my_secret_client',
'http://localhost:8000'
 )   
 auth_url = auth_flow.get_authorization_url().replace('+','')
 print(auth_url)

作为范围我设置了partner.trips,doc说如果你使用这个端点来回溯旅程:

https://api.uber.com/v1/partners/trips

当我运行代码时,这是url结果:

https://login.uber.com/oauth/v2/authorize?scope=partner.trips&state=a22YiIePVScRMh12gLbgZFnDK6415HHG&redirect_uri=http%3A%2F%2Flocalhost%3A8000&response_type=code&client_id=my_client_id

但是当我把网址放到浏览器中时,我发现了这个错误:

http://localhost:8000/?error=invalid_scope&state=iyzAM1rPWnZDFHqJlXEViTUL3UsLIz2O#_

错误无效范围。我已经看到了我的开发人员dashbord,我没有这个范围,但我有范围历史。因此,如果将历史记录设置为范围,我会将代码接收到重定向URL,但如果我使用此代码生成令牌并使用令牌调用此终点:

https://api.uber.com/v1/partners/trips

我发现了这个错误:

{"message":"This endpoint requires at least one of the following scopes: partner.trips, partner.admin_trips.locations, partner.admin_trips","code":"unauthorized"}

任何帮助请???我变得狡猾了。

1 个答案:

答案 0 :(得分:0)

听起来你没有partner.trips范围:
"我已经看到了我的开发人员信息中心,我没有这个范围。"

由于您没有此范围,因此您收到的错误消息是正确的:

{" message":"此端点至少需要以下范围之一:partner.trips,partner.admin_trips.locations,partner.admin_trips"," code& #34;:"未授权"}

输入历史记录范围不会让您访问驱动程序API partner.trips范围。您可以通过https://developer.uber.com/products/drivers申请驱动程序API访问权限(目前有限)。