我找不到任何有关 Google Books API 速率限制的信息。我有兴趣执行大约 30 万个 ISBN 查询来检索图书类别列表,并且我想限制我的请求以使其低于限制。我有开发人员 API 密钥,但没有 OAuth。有谁知道 Google Books API 的速率限制是多少,或者至少有一个大概的范围?
根据这篇文章,
https://groups.google.com/forum/#!topic/google-api-java-client/_TFuPpAKSew
每天10万左右不是问题。
如果您需要的话,您还可以请求更多配额,如下:
“您的配额请求最多应在几个工作日内得到处理。基本上,我们希望听到开发人员的意见,以便我们知道他们发送的流量类型,以便我们可以根据需要添加资源来容纳它们。但是从您的情况来看描述一下,也许100K/天,应该不是问题。”
在 1 分钟内向
https://www.googleapis.com/books/v1/volumes?q=isbn:<ISBN>
发出 100 次查询后,我收到以下错误。我通过本地 Python 脚本进行查询。我记得收到一条设置错误消息,需要使用浏览器,可能还需要使用我的电子邮件帐户来运行我的脚本。我假设,如果我创建一个 Google Cloud 项目 rate-books
,为该项目创建一个 API 密钥,并将查询参数 key=<API KEY>
添加到上述 URL,那么请求将与项目 rate-books
和我的电子邮件帐户关联。然后,我将作为该项目的用户进行 100 个查询。我可以按照错误消息中的 URL 请求更高的速率限制。
{
"error": {
"code": 429,
"message": "Quota exceeded for quota metric 'Queries' and limit 'Queries per minute per user' of service 'books.googleapis.com' for consumer 'project_number:624717413613'.",
"errors": [
{
"message": "Quota exceeded for quota metric 'Queries' and limit 'Queries per minute per user' of service 'books.googleapis.com' for consumer 'project_number:624717413613'.",
"domain": "global",
"reason": "rateLimitExceeded"
}
],
"status": "RESOURCE_EXHAUSTED",
"details": [
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "RATE_LIMIT_EXCEEDED",
"domain": "googleapis.com",
"metadata": {
"quota_location": "global",
"quota_metric": "books.googleapis.com/default",
"quota_limit_value": "100",
"consumer": "projects/624717413613",
"service": "books.googleapis.com",
"quota_limit": "defaultPerMinutePerUser"
}
},
{
"@type": "type.googleapis.com/google.rpc.Help",
"links": [
{
"description": "Request a higher quota limit.",
"url": "https://cloud.google.com/docs/quotas/help/request_increase"
}
]
}
]
}
}