我试图在Python中使用Uber API,但我甚至无法使用基本命令。我按照GitHub页面上建议的代码(https://github.com/uber/rides-python-sdk)。
from uber_rides.session import Session
session = Session(server_token='xxxxxx')
from uber_rides.client import UberRidesClient
client = UberRidesClient(session)
response = client.get_products(37.77, -122.41)
products = response.json.get('products')
当我运行此操作时,我收到以下错误 - KeyError:u' x-rate-limit-limit'
我确实在Uber开了一个开发者帐户,我尝试过使用不同的服务器令牌,但都没有。
有人可以帮忙吗?
答案 0 :(得分:1)
您遇到的问题已通过最新的SDK修补程序(GitHub issue)解决。这是因为Python SDK已升级为使用Uber API的v1.2端点。但是,升级到v1.2后,Uber也弃用了限速标头(X-Rate-Limit-Limit
,X-Rate-Limit-Remaining
,X-Rate-Limit-Reset
)。较旧的SDK版本仍在使用它们。这是导致你麻烦的原因。
要解决您的问题,请安装最新的SDK版本(> 0.2.7.1)。
答案 1 :(得分:0)
您将获得rate limited。这意味着您经常发送请求,以至于Uber认为您是恶意地进行请求。正如优步所建议的那样,你应该“展开你的请求”,例如使用time.sleep()
。