如何解决谷歌脚本 GmailApp.createDraft {cc:}
我的提醒电子邮件中无法使用抄送(从 Google 表格脚本生成)。
代码如下:
//seleziono il file
var file_ID = SpreadsheetApp.getActiveSpreadsheet().getId();
var file = DriveApp.getFileById(file_ID);
//creo una matrice di editors
var editors = file.getEditors();
var File_Editors = [];
for (var e = 0; e < editors.length; e++) {
File_Editors[e] = [editors[e].getEmail()];
}
//creo una matrice di visualizzatori
var viewers = file.getViewers();
var File_Viewers = [];
for (var e = 0; e < viewers.length; e++) {
File_Viewers[e] = [viewers[e].getEmail()];
}
var FileUrl = SpreadsheetApp.getActiveSpreadsheet().getUrl();
var FileName = SpreadsheetApp.getActiveSpreadsheet().getName();
var Today = Utilities.formatDate(new Date(),"UTC","dd/MM/YYYY");
var EmailAddressTo = File_Editors;
var EmailAddressCC = File_Viewers;
var Subject = FileName +" UPDATE @ " + Today;
var HtmlMessage = "Hi All";
GmailApp.createDraft(EmailAddressTo,Subject,'',{htmlBody:HtmlMessage},{cc:EmailAddressCC});
这是我最后一行的回报:
异常:参数 (String,String,(class),(class)) 与 GmailApp.createDraft 的方法签名不匹配。 提醒WeeklyMail @ KPI_File_Scripts.gs:278
谢谢
解决方法
试试这个:GmailApp.createDraft(EmailAddressTo,Subject,'',{htmlBody:HtmlMessage,cc:EmailAddressCC});
试试
if (EmailAddressCC && HtmlMessage && EmailAddressTo && Subject) {
GmailApp.createDraft(EmailAddressTo,{ htmlBody: HtmlMessage,cc: EmailAddressCC });
} else {
throw 'Email Draft not created'
}
,
我用一个技巧解决了。我做了几次测试。 我的发现是 GmailApp 中的抄送选项不适用于电子邮件数组。 为了跳过这个问题,我从数组中创建了一串电子邮件并将其设置为变量(字符串不是数组),现在它可以完成工作。 这里是更新部分的代码:
//creo una matrice di visualizzatori
var viewers = file.getViewers();
var File_Viewers = [];
var EmailAddressCC = '';
for (var e = 0; e < viewers.length; e++) {
File_Viewers[e] = [viewers[e].getEmail()];
EmailAddressCC = EmailAddressCC + File_Viewers[e] + ',';
}
现在使用相同的 createDraft 指令工作。
我认为这是一个需要在 Google Script 方面解决的错误。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。