Javascript 谷歌广告脚本-将Logger.log内容发送到电子邮件?

Javascript 谷歌广告脚本-将Logger.log内容发送到电子邮件?,javascript,google-apps-script,scripting,google-ads-api,google-ads-script,Javascript,Google Apps Script,Scripting,Google Ads Api,Google Ads Script,我有一个脚本,其中显示了10个点击率最高的关键词,它们的平均CPC和转化率。在预览脚本时,效果很好。但当我把它发送到我的电子邮件时,只有最后一行的10行显示出来。这里怎么了 函数main(){ var keywords=AdsApp.keywords() .orderBy(“单击说明”) //.orderBy(“印象描述”) .forDateRange(“本月”) .有限制(10) .get(); Logger.log(“点击次数最多的10个关键词”); while(关键字.hasNext()

我有一个脚本,其中显示了10个点击率最高的关键词,它们的平均CPC和转化率。在预览脚本时,效果很好。但当我把它发送到我的电子邮件时,只有最后一行的10行显示出来。这里怎么了

函数main(){
var keywords=AdsApp.keywords()
.orderBy(“单击说明”)
//.orderBy(“印象描述”)
.forDateRange(“本月”)
.有限制(10)
.get();
Logger.log(“点击次数最多的10个关键词”);
while(关键字.hasNext()){
var keyword=keywords.next();
content=keyword.getText()+“|点击:”+关键字.getStatsFor(“本月”).getClicks()+“| CPC:”+关键字.getStatsFor(“本月”).getAverageCpc().toFixed(2)+
“|转换:”+关键字.getStatsFor(“本月”).getConversions();
}
MailApp.sendmail({
致:'myemail@myemail.com',
主题:“点击次数最多的10个关键词”,
htmlBody:内容
});  

}
在我看来,您似乎在用every while循环过度编写内容变量。我认为您需要在while循环之外声明内容,然后将其添加到content=string中

var content = "";      
while (keywords.hasNext()) {
        var keyword = keywords.next();
        content = content + keyword.getText() + " | Clicks: " + keyword.getStatsFor("THIS_MONTH").getClicks() + " | CPC: " + keyword.getStatsFor("THIS_MONTH").getAverageCpc().toFixed(2) + 
        " | Conversions: " + keyword.getStatsFor("THIS_MONTH").getConversions();
      }

我怀疑您可能还想在连接的末尾添加一个新行字符
+“\n”

嘿,这几乎成功了!但出于某种原因,它显示了9个结果,而忽略了点击次数最多的关键字,你知道为什么吗?因此,出于某种原因,基本上第一个结果似乎被其他结果覆盖了。嗯。。不确定。假设我们应该确保while循环实际处理了第一个术语(尽管它看起来与指南中的脚本相同)。您是否添加了
Logger.log(关键字)
var关键字…
之后的行上,以确保它确实在处理第一个关键字?在处理时,添加
Logger.log(内容)在内容后面的行,这样我们就可以再次检查它是否真的被写入了内容字符串。现在它可以工作了,非常感谢您的帮助!