최근에 Google 페이지에 정보를 출력 한 애드워즈 API 보고서 KEYWORDS_PERFORMANCE_REPORT
에서 정보를 얻으려고 스크립트를 만들었습니다.애드워즈 스크립트가 Google 시트에 작성되지 않습니다.
확장 기능에 대한 또 다른 보고서를 작성하기로 결정한 것은 기본적으로 Google 시트의 URL을 복사하고 이전 코드를 복사하고 지나치는 것이 었으며 키워드 1 대신에 PLACEHOLDER_REPORT
을 사용해야한다는 보고서와 일부 측정 항목 .
스크립트는 아무 문제가 없다는 말을하지 않고 실행되지만 값을 예상 한 위치로 또는 전혀 출력하지 않습니다.
function processAccount()
{
var report = AdWordsApp.report(
"SELECT AccountDescriptiveName, CampaignName, ExtensionPlaceholderCreativeId, ExtensionPlaceholderType " +
"FROM PLACEHOLDER_REPORT " +
"WHERE CampaignStatus = ENABLED " +
"DURING LAST_7_DAYS",
{apiVersion: 'v201705'});
var rows = report.rows();
if (rows.hasNext())
{
writeReport(rows);
}
}
function writeReport(rows)
{
var spreadsheet = validateAndGetSpreadsheet(URL);
// Clear all rows in the Details tab of the spreadsheet below the header row.
var clearRange = spreadsheet.getRangeByName('Headers')
.offset(1, 0, spreadsheet.getSheetByName('Details')
.getDataRange().getLastRow())
.clearContent();
// Build each row of output values in the order of the Report tab columns.
var outputValues = [];
while (rows.hasNext())
{
var row = rows.next();
outputValues.push([
row["AccountDescriptiveName"],
row["CampaignName"],
row["ExtensionPlaceholderCreativeId"],
row["ExtensionPlaceholderType"],
]);
}
// Find the first open row on the Report tab below the headers and create a
// range large enough to hold all of the failures, one per row.
var lastRow = spreadsheet.getSheetByName('Details')
.getDataRange().getLastRow();
var headers = spreadsheet.getRangeByName('Headers');
var outputRange = headers
.offset(lastRow - headers.getRow() + 1, 0, outputValues.length);
Logger.log("outputValue length is "+outputValues.length);
outputRange.setValues(outputValues);
Logger.log(outputValues[0]);
spreadsheet.getRangeByName('Date').setValue(new Date());
}
나는 그것으로 가정 같은 머리글 아래의 행을 지우고가 실행될 때 날짜와 시간을두고 있기 때문에 그것의 시트를 찾는 알고있다.
로거는 outputValue의 길이가 293이므로 결과가 명확히 표시되고 outputValue[0]
에 항목을 기록하므로 내가 시트에 쓰지 않는 이유는 알 수 없습니다.