【问题标题】:GA4 | Google Analytics Admin API | Apps ScriptGA4 |谷歌分析管理 API |应用脚本
【发布时间】:2022-01-21 23:55:08
【问题描述】:

我正在尝试调用(新的)alpha GA Admin API 来完成列出我有权访问的所有帐户的简单任务...我正处于调用 API 但我没有收到任何错误的阶段消息,我也没有看到谷歌表上的信息。你能帮忙吗?

function listGA4Accounts() {
  var sheet = _setupListGA4AccountsSheet();

  var accounts = AnalyticsAdmin.Accounts.list();
  if (accounts.items && accounts.items.length) {
  for (var i = 0; i < accounts.items.length; i++) {
    var account = accounts.items[i];
    var rowNum = i+2;
    sheet.getRange("A" + rowNum).setNumberFormat('@')
         .setValue(account.name).setBackground(AUTO_POP_CELL_COLOR);
    sheet.getRange("B" + rowNum)
         .setValue(account.displayName).setBackground(AUTO_POP_CELL_COLOR);
    sheet.getRange("C" + rowNum)
         .setValue(account.createTime).setBackground(AUTO_POP_CELL_COLOR);
  }
}
}

以上代码改编自用于 Universal Analytics/GA3 的旧代码,过去运行良好。我错过了什么?我还有一个标准 GCP 项目,并且为该 GCP 项目启用了 API。

我们非常感谢您对上述内容的任何帮助/想法。

谢谢。

【问题讨论】:

标签: google-apps-script google-analytics google-analytics-api google-analytics-4


【解决方案1】:

您已经非常接近解决方案了。

调试 API 响应的提示:

  • 在控制台中使用Logger.log(JSON.stringify(&lt;API RESPONSE&gt;)) 提示API 响应
  • 复制日志并将其粘贴到 JSON 格式化程序网站上,如下所示:https://jsonformatter.curiousconcept.com/
  • 检查实际结构
  • 可选:从页面复制格式化的 JSON 并将其作为变量保存在脚本中,并使用它而不是 API 响应来准备代码。一旦它与保存的数据正常工作,您就可以切换回来自 API 请求的数据。

以下我更改的内容:

  1. 删除了var sheet = _setupListGA4AccountsSheet();(与测试 API 响应无关)
  2. 刚刚更改了访问 JSON 对象的方式,因为它是一个嵌套对象,要获取帐户项,必须编写 &lt;variable name&gt;.accounts.item

以下是可以原样复制到 App Script 编辑器并可以测试的代码:

function listGA4Accounts() {
  var accounts = AnalyticsAdmin.Accounts.list();
  if (accounts && !accounts.error) {
    accounts = accounts.accounts; // <== this is why it didn't work is a nested JSON
    Logger.log(accounts[0]);
    for (var i = 0, account; account = accounts[i]; i++) {
      Logger.log(account);

      /**
       * PLACE your code here
      */
    }
  }
}

【讨论】:

  • 谢谢。实际上,初始代码的问题是 account.items 应该是 accounts.accounts 。 GA4 列表请求的响应对象中不存在“items”字段。
猜你喜欢
  • 2021-10-23
  • 1970-01-01
  • 1970-01-01
  • 2014-07-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-20
相关资源
最近更新 更多