gpt4 book ai didi

javascript - 将对象添加到 inlineImages sendEmail 参数

转载 作者:行者123 更新时间:2023-11-30 19:34:26 26 4
gpt4 key购买 nike

我正在使用以下内容遍历工作表名称“Charts”上的所有图表,并将它们作为内联图像附加。

在 htmlBody 中,我在需要的地方将每个图表引用为字符串 ChartXString。

  var Chart1Sheet = SpreadsheetApp.getActive().getSheetByName('Charts');
var charts1 = Chart1Sheet.getCharts();
var chartBlobs1=new Array(charts1.length);
var emailImages1={};
for(var i=0;i<charts1.length;i++){
var builder = charts1[i].modify();
builder.setOption('vAxis.format', '#');
var newchart = builder.build();
chartBlobs1[i]= newchart.getAs('image/png');
chart1String = "<p align='center'><img src='cid:chart"+0+"'></p>";
chart2String = "<p align='center'><img src='cid:chart"+1+"'></p>";
chart3String = "<p align='center'><img src='cid:chart"+2+"'></p>";
chart4String = "<p align='center'><img src='cid:chart"+3+"'></p>";
emailImages1["chart"+i]= chartBlobs1[i];
}


myHTML = myHTML + myHTML2 + myHTML3 + myHTML4 + myHTML5 + chart1String + chart2String + chart3String + chart4String + myHTML6;
recipient = 'email@address';
subject = 'My subject text';
body = 0;


MailApp.sendEmail(recipient, subject, body, {htmlBody: myHTML, inlineImages:emailImages1});

这是完美的工作,但我想添加像 the example from the documentation 这样的图像.

  var youtubeLogoUrl =
"https://developers.google.com/youtube/images/YouTube_logo_standard_white.png";
var youtubeLogoBlob = UrlFetchApp
.fetch(youtubeLogoUrl)
.getBlob()
.setName("youtubeLogoBlob");
MailApp.sendEmail({
to: "recipient@example.com",
subject: "Logos",
htmlBody: "inline YouTube Logo <img src='cid:youtubeLogo'>",
inlineImages:
{
youtubeLogo: youtubeLogoBlob
}
});

我认为问题不在于理解如何添加对象。到目前为止,这是我尝试过的:

  var youtubeLogoUrl =
"https://developers.google.com/youtube/images/YouTube_logo_standard_white.png";
var youtubeLogoBlob = UrlFetchApp
.fetch(youtubeLogoUrl)
.getBlob()
.setName("youtubeLogoBlob");
LogoStr = "<img src='cid:youtubeLogo'>";

var Chart1Sheet = SpreadsheetApp.getActive().getSheetByName('Charts');
................
chart4String = "<p align='center'><img src='cid:chart"+3+"'></p>";
emailImages1["chart"+i]= chartBlobs1[i] + youtubeLogoBlob;
}


myHTML = LogoStr + myHTML + myHTML2 + myHTML3 + myHTML4 + myHTML5 + chart1String + chart2String + chart3String + chart4String + myHTML6;
recipient = 'email@address';
subject = 'My subject text';
body = 0;


MailApp.sendEmail(recipient, subject, body, {htmlBody: myHTML, inlineImages:emailImages1});

我也试过:

  MailApp.sendEmail(recipient, subject, body, {htmlBody: myHTML, inlineImages:emailImages1,youtubeLogoBlob});

最佳答案

  • 您想将 youtubeLogoBlob 作为内联图像包含在 emailImages1 中。

如果我的理解是正确的,这个修改怎么样?请按如下方式修改问题中的第三个脚本。

来自:

  emailImages1["chart"+i]= chartBlobs1[i] + youtubeLogoBlob;
}
myHTML = LogoStr + myHTML + myHTML2 + myHTML3 + myHTML4 + myHTML5 + chart1String + chart2String + chart3String + chart4String + myHTML6;
recipient = 'email@address';
subject = 'My subject text';
body = 0;
MailApp.sendEmail(recipient, subject, body, {htmlBody: myHTML, inlineImages:emailImages1});

收件人:

  emailImages1["chart"+i]= chartBlobs1[i]; // Modified
}
emailImages1["youtubeLogo"] = youtubeLogoBlob; // Added
myHTML = myHTML + myHTML2 + myHTML3 + myHTML4 + myHTML5 + chart1String + chart2String + chart3String + chart4String + myHTML6;
recipient = 'email@address';
subject = 'My subject text';
body = 0;
MailApp.sendEmail(recipient, subject, body, {htmlBody: myHTML, inlineImages:emailImages1}); // Modified

备注:

  • 在你的脚本中,有几个变量没有在你显示的脚本中声明,请注意这一点。

如果我误解了您的问题,我深表歉意。

关于javascript - 将对象添加到 inlineImages sendEmail 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56094778/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com