我在300多个数组上使用async.eachOfSeries
并请求了一些GA API,它看起来不错,但有时我会出错..
UnhandledPromiseRejectionWarning:错误:令牌不足以用于配额
“ AnalyticsDefaultGroup”并限制服务的“ USER-100” 面向消费者的“ analyticsreporting.googleapis.com” 'project_number:79317181646'。
答案 0 :(得分:2)
在API控制台中,有一个类似的配额,称为每用户每100秒请求数。默认情况下,它设置为
100 requests per 100 seconds per user
,并且可以调整为最大值1,000。但是对API的请求数限制为每位用户每秒最多10个请求。
此错误是洪水保护。每个用户每秒只能发送100个请求。用户用您的IP地址表示。您需要放慢速度。
注意:Google并不完美,您可以在一秒钟内发送99个请求,然后尝试等待90秒钟,然后重试,它可能会或可能不会起作用。请放慢速度,然后重试。
答案 1 :(得分:0)
设置settimeout后,它似乎可以工作
function getBeautyrestReport(cb){
apiGA.totalSiteVisitor(1,START_DATE,END_DATE,(error,data)=>{
if(error) mail.sendError(error);
let pageView = data['pageView']||0;
let bounceRate = data['bounceRate']||0;
setTimeout(() => {
cb(pageView,bounceRate);
}, 500);
});
}