首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >异常:参数(String、(class)、(class))与GmailApp.sendEmail的方法签名不匹配

异常:参数(String、(class)、(class))与GmailApp.sendEmail的方法签名不匹配
EN

Stack Overflow用户
提问于 2021-12-09 02:02:13
回答 1查看 944关注 0票数 0

我正在试图找到解决我的错误的方法,就像在对象中提到的那样。出了点问题

GmailApp.sendEmail.

顺便说一句,我是GAS编码方面的新手,如果你认为这个脚本可以增强,那就放心吧。

代码语言:javascript
复制
    function emailAsPDF() {

 SpreadsheetApp.flush();
 var ss = SpreadsheetApp.getActiveSpreadsheet();
 ss.setActiveSheet(ss.getSheetByName("Recherche"));
 var sheet = ss.getActiveSheet();
 var gid = sheet.getSheetId();
 var pdfOpts = 
    + // export as pdf
    '&size=0' + // paper size letter / You can use A4 or legal
    '&portrait=false' + // orientation portal, use false for landscape
    '&fitw=true' + // fit to page width false, to get the actual size
    '&sheetnames=false&printtitle=true' + // hide optional headers and footers
    '&pagenumbers=true&gridlines=false' + // hide page numbers and gridlines
    '&fzr=true' + // do not repeat row headers (frozen rows) on each page
    '&attachment=false' +
    gid;
// '&size=0&fzr=true&portrait=false&fitw=true&gridlines=false&printtitle=true&sheetnames=false&pagenumbers=true&attachment=false&gid='+gid;
 var url = ss.getUrl().replace(/edit$/, '') + 'export?format=pdf' + pdfOpts
 var options = {
      headers: {
        'Authorization': 'Bearer ' +  ScriptApp.getOAuthToken()
      }
    }
  options = {muteHttpExceptions: true};
  var blobresponse = UrlFetchApp.fetch(url, options);
  var CandidateName = ss.getRangeByName("Nom.Candidat").getValue();
  var blob=blobresponse.getBlob().setName(ss.getName() + " - " + CandidateName +".pdf" );
  var emailAddress=Session.getActiveUser().getEmail();
  var signature = Gmail.Users.Settings.SendAs.get("me", emailAddress).signature; 
  var mess = "Voulez-vous envoyer votre rapport  à l'adresse : " + emailAddress;
  var ans= Browser.msgBox("Courriel", mess, Browser.Buttons.YES_NO);
  if (ans===Browser.Buttons.NO){return;}
  var mess="Votre rapport a été envoyé à l'adresse : " + emailAddress;
  //var ss=SpreadsheetApp.getActive();
  var sheet = ss.getSheetByName("Recherche");
  var data = ss.getSheetByName("Données");
  const corps = data.getRange("A24:E27").getValues();
  const htmlTemplate = HtmlService.createTemplateFromFile("HtmlSigTemplate");
  htmlTemplate.corps = corps;
  var emailSubject = "Vérifications pré-emploi complétées" +" - "+ CandidateName;
  const htmlForEmail = htmlTemplate.evaluate().getContent() + "--" + "<br>" + signature;
  console.log(htmlForEmail);
  //var emailMessage="Bonjour," + "\n\n" + "J’ai le plaisir de vous informer que les vérifications sont complétées pour le candidat indiqué au tableau de résultats pré-emploi suivant:" + "\n\n" + "Bonne journée !" + "<br>" + signature;
  var shts=ss.getSheets();
  GmailApp.sendEmail(
    emailAddress, 
    emailSubject, 
    corps,
    {htmlBody: htmlForEmail},
    {attachments:[blob]});
  Browser.msgBox("Courriel", mess, Browser.Buttons.OK); 
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-09 02:11:35

试试这个:

代码语言:javascript
复制
GmailApp.sendEmail(emailAddress,emailSubject,corps,{htmlBody:htmlForEmail, attachments:[blob]});

我想你有个不合适的支架}

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70283882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档