我已经设置了我的Google Analytics分析API,以便在Google工作表中生成报告,并从给定的分析视图(配置文件)ID中提供数据。我知道你只能从一个ID运行报告,所以我想用JS来遍历所有35个ID。我知道足够的JS循环分组,但我怎么称呼ID?我将使用谷歌应用程序脚本,因为它已经集成。有任何想法吗?提前致谢!
*编辑 所以这里有一点细节。我有一个谷歌分析帐户,可以监控大约35个网站(我列出并拥有权限的所有唯一个人资料ID)。这些统计数据已经手动添加到Google工作表文档中,直到此时为止。我想从每个配置文件ID中获取数据并填充现有的电子表格,而不必运行35个单独的报告,这将创建35个单独的工作表。我已经能够逐一提取报告;编写脚本来遍历所有配置文件并填充现有的电子表格(我迄今为止所有的努力都只是在现有工作表上创建了新标签)是我正在努力解决的问题。谢谢你的耐心和时间!节日快乐!
答案 0 :(得分:0)
以下是从Google电子表格中复制/粘贴我使用了一些功能,一个列出了用户通过身份验证的所有帐户,一个返回帐户中的所有属性(将帐户ID作为参数传入)和一个列出的帐户给定帐户的属性中的所有视图(将属性和帐户ID作为参数传递)。编写函数以返回JSON对象,其中每个元素包含name和(internal)id的键/值对。只需使用以前函数的输出作为后续函数的参数。
请注意,由于历史原因,返回视图信息的函数名为Analytics.Management.Profiles.list
,“个人资料”是在Universal Analytics之前调用的视图。
/* Generates a list of accounts that are accessible to the currently logged in user */
function listAccounts() {
var accounts = Analytics.Management.Accounts.list();
var items = accounts.getItems();
var item;
var accountList = [];
if (items) {
for (i = 0, cnt = items.length; i < cnt; i++) {
item = items[i];
accountList.push({
"name": item.name,
"id": item.id
});
}
}
return accountList;
}
/* .... and all the properties in those accounts .. */
function listProperties(accountId) {
var webProperties = Analytics.Management.Webproperties.list(accountId);
var items = webProperties.getItems();
var item;
var propertyList = [];
if (items) {
for (i = 0, cnt = items.length; i < cnt; i++) {
item = items[i];
propertyList.push({
"name": item.name,
"id": item.id
});
}
}
return propertyList;
}
/* And all data view in the selected property */
function listViews(accountId, propertyId) {
var views = Analytics.Management.Profiles.list(accountId, propertyId);
var items = views.getItems();
var item;
var viewList = [];
if (items) {
for (i = 0, cnt = items.length; i < cnt; i++) {
item = items[i];
viewList.push({
"name": item.name,
"id": item.id
});
}
}
return viewList;
}