简体   繁体   English

获取帐户列表时出现 RATE_LIMIT_EXCEEDED 异常(Google My Business API)

[英]RATE_LIMIT_EXCEEDED exception on getting Account List(Google My Business API)

Nowadays we are implementing My Business api integration for our platform.现在,我们正在为我们的平台实施 My Business api 集成。 I followed this document "https://developers.google.com/my-business/content/prereqs" and after I trying to get account list an error occurred;我按照此文档“https://developers.google.com/my-business/content/prereqs”进行操作,在尝试获取帐户列表后发生错误;

<HttpError 429 when requesting https://mybusinessaccountmanagement.googleapis.com/v1/accounts?alt=json returned "Quota exceeded for quota metric 'Requests' and limit 'Requests per minute' of service 'mybusinessaccountmanagement.googleapis.com' for consumer 'project_number:XXXX'.". <HttpError 429 请求https://mybusinessaccountmanagement.googleapis.com/v1/accounts?alt=json时返回“配额指标“请求”超出配额,并限制服务“mybusinessaccountmanagement.googleapis.com”的“每分钟请求数”为消费者'项目编号:XXXX'。”。 Details: "[{'@type': 'type.googleapis.com/google.rpc.ErrorInfo', 'reason': 'RATE_LIMIT_EXCEEDED', 'domain': 'googleapis.com', 'metadata': {'quota_metric': 'mybusinessaccountmanagement.googleapis.com/default_requests', 'consumer': 'projects/XXXX', 'quota_limit': 'DefaultRequestsPerMinutePerProject', 'service': 'mybusinessaccountmanagement.googleapis.com'}}]">详细信息:“[{'@type':'type.googleapis.com/google.rpc.ErrorInfo','原因':'RATE_LIMIT_EXCEEDED','域':'googleapis.com','元数据':{'quota_metric' : 'mybusinessaccountmanagement.googleapis.com/default_requests', 'consumer': 'projects/XXXX', 'quota_limit': 'DefaultRequestsPerMinutePerProject', 'service': 'mybusinessaccountmanagement.googleapis.com'}}]">

 output = self.service.accounts().list().execute();

Anyone faced this type issue?有人遇到过这种类型的问题吗?

Regards.问候。

You can use a rateLimiter:您可以使用 rateLimiter:

import com.google.api.client.json.GenericJson;
import com.google.common.util.concurrent.RateLimiter;

... ...

//requests per second
private static final RateLimiter rateLimiter = RateLimiter.create(5.0);

... ...

private static GenericJson executeWithRateLimiter(request,
            RateLimiter rateLimiter) {
   rateLimiter.acquire();
   return request.execute();
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM