0

我有一个脚本,其中显示了 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
});  
  
}

4

1 回答 1

1

在我看来,您在每个 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"我怀疑您可能还想在连接的末尾添加一个换行符。

于 2021-02-22T18:00:47.750 回答