KeyError: u'x-rate-limit-limit'
KeyError: u'x-rate-limit-limit'
我正尝试在 Python 中使用优步 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 创建了一个开发者帐户,并且尝试使用不同的服务器令牌,但是 none 它们都有效。
有人可以帮忙吗?
您正在获得 rate limited。这意味着您发送请求的频率如此之高,以至于优步认为您是在恶意发送请求。正如优步建议的那样,您应该 "spread out your requests," 例如使用 time.sleep()
。
您遇到的问题已通过最新的 SDK 修复 (GitHub issue) 得到解决。发生这种情况是因为 Python SDK 已升级为使用 Uber API 的 v1.2 端点。但是,随着升级到 v1.2,Uber 也弃用了速率限制 headers(X-Rate-Limit-Limit
、X-Rate-Limit-Remaining
、X-Rate-Limit-Reset
)。旧的 SDK 版本仍在使用它们。这就是给你带来麻烦的原因。
为了解决您的问题,请安装最新版本的 SDK (> 0.2.7.1)。
我正尝试在 Python 中使用优步 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 创建了一个开发者帐户,并且尝试使用不同的服务器令牌,但是 none 它们都有效。
有人可以帮忙吗?
您正在获得 rate limited。这意味着您发送请求的频率如此之高,以至于优步认为您是在恶意发送请求。正如优步建议的那样,您应该 "spread out your requests," 例如使用 time.sleep()
。
您遇到的问题已通过最新的 SDK 修复 (GitHub issue) 得到解决。发生这种情况是因为 Python SDK 已升级为使用 Uber API 的 v1.2 端点。但是,随着升级到 v1.2,Uber 也弃用了速率限制 headers(X-Rate-Limit-Limit
、X-Rate-Limit-Remaining
、X-Rate-Limit-Reset
)。旧的 SDK 版本仍在使用它们。这就是给你带来麻烦的原因。
为了解决您的问题,请安装最新版本的 SDK (> 0.2.7.1)。