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

Google Ads Scripts - Send Logger.log content to email?

我有一个脚本可以显示 10 个点击次数最多的关键字、它们的平均每次点击费用和转化次数。在预览脚本时它工作正常。但是当我将它发送到我的电子邮件时,只显示 10 行中的最后一行。这里有什么问题?

function main() {
  var keywords = AdsApp.keywords()
      .orderBy("Clicks DESC")
  //  .orderBy("Impressions DESC")
      .forDateRange("THIS_MONTH")
      .withLimit(10)
      .get();

Logger.log("10 most clicked keywords");
  while (keywords.hasNext()) {
    var keyword = keywords.next();
    content = keyword.getText() + " | Clicks: " + keyword.getStatsFor("THIS_MONTH").getClicks() + " | CPC: " + keyword.getStatsFor("THIS_MONTH").getAverageCpc().toFixed(2) + 
    " | Conversions: " + keyword.getStatsFor("THIS_MONTH").getConversions();
  }
  
MailApp.sendEmail({
            to: 'myemail@myemail.com',
            subject: "10 most clicked keywords",
            htmlBody: content
});  
  
}

在我看来,您在每个 while 循环中都覆盖了 content 变量。我认为您需要在 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"