英文:
"Quota exceeded for quota group 'ReadGroup' and limit 'Read requests per user per 100 seconds' of service google api
问题
以下是翻译好的代码部分:
a = 0
count_time = 0
while True:
start = time.time()
if (sheet.cell(22, 9).value) == "#N/A":
a = a + 1
print("google read request:", a)
time.sleep(1)
if (sheet.cell(22, 9).value) == "#N/A":
a = a + 1
print("google read request:", a)
time.sleep(1)
if (sheet.cell(22, 9).value) == "#N/A":
a = a + 1
print("google read request:", a)
time.sleep(1)
success_loop_time = time.time() - start
count_time = count_time + success_loop_time
print("Time:", round(count_time), "sec")
最后的结果:
Time: 103 sec
google read request: 77
然后出现以下错误:
raise APIError(response)
gspread.exceptions.APIError: {
"error": {
"code": 429,
"message": "Quota exceeded for quota group 'ReadGroup' and limit 'Read requests per user per 100 seconds' of service 'sheets.googleapis.com' for consumer 'project_number:1001198111824'.",
"status": "RESOURCE_EXHAUSTED",
"details": [
{
"@type": "type.googleapis.com/google.rpc.Help",
"links": [
{
"description": "Google developer console API key",
"url": "https://console.developers.google.com/project/1001198111824/apiui/credential"
}
]
}
]
}
}
但我的限制配额是每100秒500个读取请求。你能帮我修复吗?五天前我还运行这个代码没有错误。
抱歉,我的英语不太好,但我会尽力帮助你。
英文:
My code that i try to count request api and time
a =0
count_time = 0
while True:
start = time.time()
if (sheet.cell(22,9).value) == "#N/A":
a = a+1
print("google read request: ",a)
time.sleep(1)
if (sheet.cell(22,9).value) == "#N/A":
a = a+1
print("google read request: ",a)
time.sleep(1)
if (sheet.cell(22,9).value) == "#N/A":
a = a+1
print("google read request: ",a)
time.sleep(1)
success_loop_time = time.time()-start
count_time = count_time + success_loop_time
print("Time: ", round(count_time) , "sec")
Last result :
Time: 103 sec
google read request: 77
then this error show
raise APIError(response)
gspread.exceptions.APIError: {
"error": {
"code": 429,
"message": "Quota exceeded for quota group 'ReadGroup' and limit 'Read requests per user per 100 seconds' of service 'sheets.googleapis.com' for consumer 'project_number:1001198111824'.",
"status": "RESOURCE_EXHAUSTED",
"details": [
{
"@type": "type.googleapis.com/google.rpc.Help",
"links": [
{
"description": "Google developer console API key",
"url": "https://console.developers.google.com/project/1001198111824/apiui/credential"
}
]
}
]
}
}
but my limit quota read request per 100 sec is 500
enter image description here
could you help me to fix
five days ago i still run this code have no error
sorry about my english language is not well
答案1
得分: 2
请注意,除了每个项目每100秒500个请求的限制外,还有每个用户每100秒100个请求的限制,请参见此处。
这仅仅不能解释为什么你在103秒内发出了77个读取请求,但也要记住:
- 如果你不是管理员,你的管理员可能会将你的配额限制在每秒不到100个请求
- 配额不仅适用于读取请求,还包括您可能同时进行的其他请求(例如写入),以及后台运行的其他代码的请求。
英文:
Be aware that apart from the limit of 500 requests per 100 seconds per project, there is also the limit of 100 requests per 100 seconds per user, see here.
This alone does not explain why you hit the quota with 77 read requests per 103 s,
but keep also in mind:
- If you are not admin, your admin might restrict your quota to less than 100 requests per s
- The quota does not apply to read requests only, but it also includes other requests you might have simulatenously (e.g. writing), and also requests of other codes running in the background.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论