我试图调用(新的) alpha GA管理API,以便简单地列出我可以访问的所有帐户.我正处于一个调用API的阶段,但我没有收到任何错误消息,也没有看到google表上的信息。你能帮忙吗?
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);
}
}
}上面的代码是从用于/GA3的旧代码中改编而来的,并且可以很好地工作。我错过了什么?我还设置了一个标准的GCP项目,并为该GCP项目启用了API。
对以上各方面的任何帮助/想法将不胜感激。
谢谢。
发布于 2022-01-21 15:55:08
你已经很接近解决方案了。
调试API响应的技巧:
Logger.log(JSON.stringify(<API RESPONSE>))
以下是我改变的东西:
删除response)
<variable name>.accounts.item是必要的
下面是可以复制到编辑器并可以进行测试的代码:
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
*/
}
}
}https://stackoverflow.com/questions/70769210
复制相似问题