例外:配额错误:超出用户速率限制

Jac*_*vdb 9 google-analytics-api google-apps-script google-api-console

我有一个应用程序脚本,我循环访问我的Google Analytics帐户,直到找到某个个人资料.
if (profileItems[i].getName() == "Dev Test" )
比其他功能(见下文)我打电话给谷歌分析API并始终获得抛出异常:异常:配额错误:超出用户速率限制

function getReportDataForProfile(profileId) {
var tableId = 'ga:' + profileId;
var startDate = getLastNdays(14);   // 2 weeks (a fortnight) ago.
var endDate = getLastNdays(0);      // Today.

var optArgs = {
  'dimensions': 'ga:keyword',              // Comma separated list of dimensions.
  'sort': '-ga:visits,ga:keyword',         // Sort by visits descending, then keyword.
  'segment': 'dynamic::ga:isMobile==Yes',  // Process only mobile traffic.
  'filters': 'ga:source==google',          // Display only google traffic.
  'start-index': '1',
  'max-results': '250'                     // Display the first 250 results.
};

//
//Exponential Backoff
//
for (var n=0; n<6; n++) {
try {
     var results = Analytics.Data.Ga.get(
     tableId,                  // Table id (format ga:xxxxxx).
     startDate,                // Start-date (format yyyy-MM-dd).
     endDate,                  // End-date (format yyyy-MM-dd).
     'ga:visits,ga:pageviews', // Comma seperated list of metrics.
     optArgs);
 } catch(e) {
   if (n == 5) {
     //var results = e;
     //throw new Error('Quota ERROR');
     throw (e) 
   } 
   Utilities.sleep((Math.pow(2,n)*1000) + (Math.round(Math.random() * 1000)));
  }    
}   
 return results;
}   
Run Code Online (Sandbox Code Playgroud)
  • 我将API控制台中的每用户限制数增加到10.0
  • 使用的Porcentage是6%
  • 我应用了指数退避
  • 我也相信,只要求访问和PageViews,我就不会忘记我的通话次数.

完整的代码

发生什么事了?

小智 2

也许您超出了每个配置文件每秒的最大请求数。看起来它设置为 10 ( https://developers.google.com/analytics/devguides/reporting/core/v3/limits-quotas )