我从 Google 广告帐户中检索关键字 ID 和点击次数,并将它们输入到 Google 表格中。 在 Google 表格中,我会先进行一些计算,然后再将关键字 ID 拉回 Google 广告。
我该怎么做?
function main() {
//Step 1: Connect Google Ads to the Google Sheet
var spreadsheetUrl = 'https://docs.google.com/spreadsheets/;
var spreadsheet = SpreadsheetApp.openByUrl(spreadsheetUrl);
var ss = spreadsheet.getSheetByName('data');
ss.clear();
//Step 2: Create an array to store the data
var sheetarray = [['clicks', 'ID']];
//Step 3: Collect the data you need
var keywords = AdsApp.keywords()
.withCondition("Clicks > 0")
.forDateRange("LAST_7_DAYS")
.get();
//Step 4: Add the data you got from Google Ads into the array
while (keywords.hasNext()) {
var keyword = keywords.next();
sheetarray.push([
keyword.getStatsFor("LAST_7_DAYS").getClicks(),
keyword.getId(),
]);
}
//Step 5: Display the contents of the array
Logger.log(sheetarray);
if (sheetarray.length > 0) {
// Step 6: Send the array's data to the Google Sheet
ss.getRange(1, 1, sheetarray.length, sheetarray[0].length).setValues(sheetarray);
}
//Step 6: Get keyword IDs from the sheets but how??
}
答案 0 :(得分:0)
var keyword_IDs = ss.getRange(2, 2, sheetarray.length-1, 1).getValues().flat();
可能
flat() 不起作用,但 join() 起作用
我不知道你想得到什么。但看起来有点不对劲。 flat()
和 join()
有非常不同的输出。 flat()
返回 Array
。 join()
返回 String
var keyword_IDs = ss.getRange(2, 2, sheetarray_length-1, 1).getValues().flat();
Logger.log(keyword_IDs) // [id1, id2, id3, id4, id5]
Logger.log(keyword_IDs.constructor.name); // Array
Logger.log(keyword_IDs.filter(x => x==",").length) // 0.0 -- it has no comas
var keyword_IDs = ss.getRange(2, 2, sheetarray_length-1, 1).getValues().join();
Logger.log(keyword_IDs); // "id1,id2,id3,id4,id5"
Logger.log(keyword_IDs.constructor.name); // String
Logger.log(keyword_IDs.match(/,/g).length) // 4.0 -- it has four comas
<块引用>
我收到错误消息:TypeError:在对象 ''' 中找不到函数映射 var CampaignExact = AdsApp.campaigns().withCondition(Campaign_Exact).get().next(); var 关键字 = CampaignExact.keywords().withIds(keyword_ID).get(); while(keywords.hasNext()) { var keyword = keyword.next();关键字。暂停(); } '''
这几乎是无法辨认的消息。对不起。
错误说明 map()
函数。但是我在您的代码中没有看到 map()
。然而 map()
是一个数组的方法。不是字符串。
所以我猜 withIds(keyword_ID)
不起作用,因为 keyword_ID
是一个像 'id1,id2,id3...'
这样的字符串。可能应该有一个数组 keywords_ID
(['id1', 'id2', 'id3', ...]
) 然后应该有 keyword_ID = keywords_ID[0]
或 keyword_ID = keywords_ID[1]
...等在上面的某个地方。只是猜测。