Uber API 使用 python 的无效范围错误

Uber API invalid scope error using python

我是 Uber Driver,我正在开发一个 python 代码来检索 driver 与 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 该文档说如果您使用此端点来检索行程:

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

但是当我将 url 放入浏览器时,我收到了这个错误:

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

错误范围无效。我已经查看了我的开发人员仪表板,但我没有这个范围,但我有范围历史记录。因此,如果将历史记录设置为范围,我会收到重定向代码 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"}

有什么帮助吗???我快疯了。

听起来您没有 partner.trips 作用域:
"I have seen into my developer dashboard and i don't have this scope."

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

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

进入历史范围不会让您访问 driver API partner.trips 范围。您可以通过 https://developer.uber.com/products/drivers 申请 Driver API 访问权限(当前受限)。