在Issue 985中,开发人员名为" yurec" (也许)在评论#29中提供了一些代码,用于在Google Apps脚本中创建草稿(文本)电子邮件。其他一些人感谢他的出色工作并说它已经过测试和工作。
我有点难过如何使用它以及代码的哪些部分需要更改(例如" id"和#34; threadId"?)。
无论如何,理想情况下我认为用法如下:
MailApp.createDraft(emailTo,subject,body,{' name':' Bob from Example Ltd'});
但无论如何,对我来说都是好事。感谢您的帮助。让它发挥作用将是幻想。
function createDraft() {
var forScope = GmailApp.getInboxUnreadCount(); // needed for auth scope
var raw =
'Subject: testing Draft\n' +
'To: my.test.account@gmail.com\n' +
'Content-Type: multipart/alternative; boundary=1234567890123456789012345678\n' +
'testing Draft msg\n' +
'--1234567890123456789012345678--\n';
var draftBody = Utilities.base64Encode(raw);
var params = {method:"post",
contentType: "application/json",
headers: {"Authorization": "Bearer " + ScriptApp.getOAuthToken()},
muteHttpExceptions:true,
payload:JSON.stringify({
"message": {
"raw": draftBody
}
})
};
答案 0 :(得分:3)
您只需在控制台中设置Gmail API
在脚本编辑器中:
在开发者控制台中:
关闭开发人员控制台标签
点击高级Google服务模式中的确定
授权该应用,您已完成所有设置。
这是我用
测试的代码function createDraft() {
try{
var forScope = GmailApp.getInboxUnreadCount(); // needed for auth scope
var raw =
'Subject: testing Draft from Apps Script\n' +
//'To: cyrus@mydomain.net\n' +
'Content-Type: multipart/alternative; boundary=1234567890123456789012345678\n' +
'testing Draft msg\n' +
'--1234567890123456789012345678--\n';
var draftBody = Utilities.base64Encode(raw);
var params = {method:"post",
contentType: "application/json",
headers: {"Authorization": "Bearer " + ScriptApp.getOAuthToken()},
muteHttpExceptions:true,
payload:JSON.stringify({
"message": {
"raw": draftBody
}
})
};
var resp = UrlFetchApp.fetch("https://www.googleapis.com/gmail/v1/users/me/drafts", params);
Logger.log(resp.getContentText());
}catch(err){
Logger.log(err.lineNumber + ' - ' + err);
}
}
截屏1
截图2
截图3
答案 1 :(得分:0)
有任何解决方案可以粘贴到工作表的此电子邮件部分吗? f.e。:
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Podsumowanie-raport'),true); var range = sheet.getRange('A1:N46');