gpt4 book ai didi

javascript - 如何使用 Apps 脚本打印对 Google Analytics API 的多次调用到 Google Sheets

转载 作者:行者123 更新时间:2023-11-28 07:02:32 26 4
gpt4 key购买 nike

我正在尝试将多次调用的多个结果打印到同一张 Google 工作表中。我正在使用 Google Apps 脚本来调用 Google Analytics API。

我目前可以打印两组数据,但第二组数据强制我的第一次调用。这几乎就像第二次调用的结果被第一次调用覆盖。我确信我的问题是在我尝试打印两组结果时出现的。

这是我的代码:

function getReportDataForProfile(firstProfile) {

var profileId = firstProfile;
var tableId = 'ga:' + profileId;
var startDate = getMonthsAgo(3); // Months ago.
var endDate = getEndDate (0); // Today.

var optArgs = {
'dimensions': 'ga:month', // Comma separated list of dimensions.
'segment':'gaid::-lPvLp6LTbyDv3jOuYgEQA', // Female 18-24
'start-index': '1',
'max-results': '250' // Display the first 250 results.
};

var optArgs1 = {
'dimensions': 'ga:month', // Comma separated list of dimensions.
'segment':'gaid::Uu6nRXdoQxipnELhe94ejg', //Female 25 - 30
'start-index': '1',
'max-results': '250' // Display the first 250 results.
};

// Make a request to the API.
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:goal19Completions', // Comma seperated list of metrics.
optArgs);

if (results.getRows()) {
return results;

} else {
throw new Error('No views (profiles) found');
};

var results1 = 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:goal19Completions', // Comma seperated list of metrics.
optArgs1);

if (results1.getRows()) {
return results1;

} else {
throw new Error('No views (profiles) found');
};

}

function outputToSpreadsheet(results) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

// Print the headers.
var headerNames = [];
for (var i = 0, header; header = results.getColumnHeaders()[i]; ++i) {
headerNames.push(header.getName());
}

sheet.getRange(1, 1, 1, headerNames.length)
.setValues([headerNames]);

// Print the rows of data.
sheet.getRange(2, 1, results.getRows().length, headerNames.length)
.setValues(results.getRows());

}

function outputToSpreadsheet(results1) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

// Print the headers.
var headerNames = [];
for (var i = 0, header; header = results1.getColumnHeaders()[i]; ++i) {
headerNames.push(header.getName());
}

sheet.getRange(1, 3, 1, headerNames.length)
.setValues([headerNames]);

// Print the rows of data.
sheet.getRange(2, 3, results1.getRows().length, headerNames.length)
.setValues(results1.getRows());

}

如有任何帮助,我们将不胜感激。

最佳答案

你的javascript逻辑不正确。你得到第一个结果,然后得到:如果(x)
返回y;
别的
抛出异常

所以它永远不会过去。使用调试器并单步执行每一行。您将看到不可能到达第二个查询。

关于javascript - 如何使用 Apps 脚本打印对 Google Analytics API 的多次调用到 Google Sheets,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31993870/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com