首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >超出用户速率限制(429错误)

超出用户速率限制(429错误)
EN

Stack Overflow用户
提问于 2015-06-05 04:55:46
回答 1查看 6.8K关注 0票数 2

当我只使用一个请求时,为什么会收到429错误,告诉我超出了用户速率限制?:

代码语言:javascript
复制
$messagesResponse = $service->users_messages->listUsersMessages('me');

我最近收到了这个错误,我检查了我的配额,当我得到它的listUserMessages (messages.list请求)计数为5个单位,我在一秒钟内得到250个单位的限制。

真的搞不懂。

一些代码(这里我也使用了搜索查询,但是否有"q“参数并不重要):

代码语言:javascript
复制
class MessageReceiver implements ReceiverContract {

/**
 * @var Google_Client
 */
protected $client;

/**
 * Inject dependencies.
 */
public function __construct()
{
    $this->client = new Google_Client();
    $this->client->setClientId(config('services.gmail.clientId'));
    $this->client->setClientSecret(config('services.gmail.clientSecret'));
}

public function searchMessages($user, $query)
{
    $this->client->refreshToken($user->google_refresh_token);

    $service = new Google_Service_Gmail($this->client);
    $pageToken = null;
    $messages = [];

    do {
        $this->client->setUseBatch(false);
        try {
            $messagesResponse = $service->users_messages->listUsersMessages('me',
                ['pageToken' => $pageToken, 'q' => $query]
            );
        } catch (\Google_Service_Exception $e) {
            dd($e->getErrors()); // 429 error
        }
        ...
}
EN

回答 1

Stack Overflow用户

发布于 2015-06-05 07:40:50

错误429,当您的应用程序同时发送多个请求时,会发生“请求太多”。也许可以尝试实现指数回退?

https://developers.google.com/drive/web/handle-errors

Google的PHP client API还在Beta中,所以现在来看看它的Java实现:https://developers.google.com/api-client-library/java/google-http-java-client/backoff

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30653976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档