令牌不足,无法为用户分配配额“ AnalyticsDefaultGroup”,并限制服务“ analyticsreporting.googleapis.com”的“ USER-100”

时间:2018-06-20 09:48:28

标签: javascript node.js google-analytics google-api

我在300多个数组上使用async.eachOfSeries并请求了一些GA API,它看起来不错,但有时我会出错..

UnhandledPromiseRejectionWarning:错误:令牌不足以用于配额

  

“ AnalyticsDefaultGroup”并限制服务的“ USER-100”   面向消费者的“ analyticsreporting.googleapis.com”   'project_number:79317181646'。

2 个答案:

答案 0 :(得分:2)

Limits and quotas

  

在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);
    });
}