gpt4 book ai didi

google-sheets-api - 配额用户如何工作?

转载 作者:行者123 更新时间:2023-12-05 07:38:27 26 4
gpt4 key购买 nike

从大量工作表下载数据时,我遇到了很多 429“请求太多”错误。具体来说,我遇到了 USER-100s 速率限制。

根据 documentation ,我正在尝试为每个请求使用具有随机值的 quotaUser 查询参数,以绕过用户限制,而只受项目限制,即每 100 秒 500 个请求。

但是,无论是否使用 quotaUser 参数,我都没有发现速率限制有什么不同。

使用以下小测试片段(URL 是 Sheets API 端点):

def run(url, use_quota_user=False):
for i in range(200):
headers = {
'Authorization': 'Bearer %s' % ACCESS_TOKEN
}
if use_quota_user:
_url = '%s&quotaUser=%s' % (url, str(uuid.uuid4()))
else:
_url = url
resp = requests.get(_url, headers=headers)
if resp.status_code == 200:
pass
elif resp.status_code == 429:
print('Quota exhausted with request %d: %s' % (i, resp.json()['error']['message']))
break
else:
print('Received error, aborting: %s' % resp.json()['error']['message'])
return


def main():
print('Running without quotaUser...')
run(URL, use_quota_user=False)
time.sleep(100)
print('Running with quotaUser...')
run(URL, use_quota_user=True)

使用和不使用 quotaUser 我得到(几乎)完全相同的行为:

Running without quotaUser...
Quota exhausted with request 103: Insufficient tokens for quota 'ReadGroup' and limit 'USER-100s' [...]
Running with quotaUser...
Quota exhausted with request 105: Insufficient tokens for quota 'ReadGroup' and limit 'USER-100s' [...]

我做错了什么吗?如何正确使用 quotaUser 参数,以免达到 USER-100s 限制?

最佳答案

Google's documentation已于 2021 年 2 月更新以澄清这一点。

简而言之,quotaUser 只能在通过 API key 验证请求时使用。如果提供了 OAuth2 访问 token 或类似的身份验证 Material ,经过身份验证的主体将用于检查用户配额,quotaUser 将被静默忽略。

关于google-sheets-api - 配额用户如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47903819/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com