获取 GoogleJsonResponse 异常,但查询已正确构建在 Google Apps 脚本中

Getting GoogleJsonResponseException but the query is properly built in Google Apps Script

我正在尝试为 Google 表格电子表格构建自定义公式。使用 Google Apps 脚本,我试图访问事件的唯一事件计数,在 Google 分析视图中使用特定的事件标签。下面是我的代码:

function USE_CLICK_COUNT(startDate, endDate){
  var tableId = 'ga:78467590';
  var reportStart = startDate;
  var reportEnd = endDate;
  var optArgs = {
    'metrics': 'ga:uniqueEvents',
    'dimensions':'ga:eventLabel',
    'filters':'ga:eventLabel=~^UseClick'
  };
  
  var results = Analytics.Data.Ga.get(tableId, '2020-08-31', '2020-09-06', optArgs);
  Logger.log(results);
}

虽然这不是该功能的最终版本,但我对其进行了测试,看看它目前是否有效。但是我收到以下错误:

GoogleJsonResponseException: API call to analytics.data.ga.get failed with error: Invalid value '{metrics=ga:uniqueEvents, dimensions=ga:eventLabel, filters=ga:eventLabel=~^UseClick}'. Values must match the following regular expression: 'ga:.+' (line 16, file "Code")

我尝试更改 Analytics 查询参数的大写,但没有任何改变。我该怎么办?

修改点:

  • Analytics.Data.Ga.get的参数是ids, start-date, end-date, metrics, optionalArgs。所以在你的脚本中, metrics 没有设置。我认为这可能是您出现问题的原因。所以请设置metricsRef虽然我不确定你想要什么,例如,作为测试,通过将ga:pageviews设置为metrics来测试它如何?

修改后的脚本:

从:
var results = Analytics.Data.Ga.get(tableId, '2020-08-31', '2020-09-06', optArgs);
到:
var results = Analytics.Data.Ga.get(tableId, '2020-08-31', '2020-09-06', "ga:pageviews", optArgs);

注:

  • 看来var results = Analytics.Data.Ga.get(tableId, '2020-08-31', '2020-09-06', "", optArgs);没有出错。

参考文献: