我使用 Google API PHP 客户端 ( http://code.google.com/p/google-api-php-client/ ) 发出 OAuth 请求 - 以获取新的访问令牌。
我已经缓存了刷新令牌并使用它来生成一个新的访问令牌。我已经阅读了文档(https://developers.google.com/accounts/docs/OAuth2,https://developers.google.com/storage/docs/developer-guide),它只讨论了刷新的限制令牌(每个客户端/用户组合一个限制,所有客户端的每个用户另一个限制),但没有关于访问令牌限制的任何内容(除了访问令牌仅在一个小时内有效的事实)。
我正在尝试计算数千个存储桶的存储桶大小使用情况。我正在尝试并行化此任务以减少时间 - 我通过为每个存储桶生成一个新进程并且每个进程请求一个新的访问令牌来做到这一点。我这样做是因为我假设颁发的访问令牌的数量没有限制,并且因为对于具有大量对象的存储桶,计算时间 + 潜在的指数退避时间理论上可能会超过访问令牌的生命周期。
但是当我尝试这样做时,我看到了这个错误:
Error No: 1
Error on Line: 242
Error Message: Uncaught exception 'apiAuthException' with message 'Error refreshing the OAuth2 token, message:
<HTML>
<HEAD>
<TITLE>User Rate Limit Exceeded</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>User Rate Limit Exceeded</H1>
<H2>Error 403</H2>
</BODY>
</HTML>
这是因为我产生了很多(目前 16 个)访问令牌吗?
如果不是,那么导致此错误的原因是什么?解决此错误的最佳方法是什么?
是否有记录用户速率限制的 Google 文档页面?