使用Google应用脚本创建草稿邮件

时间:2013-07-15 17:51:12

标签: google-apps-script gmail

我想知道是否可以使用Google Apps脚本创建草稿邮件。 如果是,那怎么可能?

此致 的Sebastien

4 个答案:

答案 0 :(得分:15)

目前,无法创建Drafts文件夹中显示的新邮件。之前已请求此功能 - 请参阅Issue 985。如果您有兴趣接收任何更新,请访问并解决问题。

编辑虽然Google Apps脚本仍然不支持,但您可以使用GMail API创建草稿,使用getOAuthToken()进行身份验证(2014年2月推出)。 2014年6月在API中添加了草稿支持,并在上述问题的comment 29中显示了其在GAS中使用的示例。为方便起见,此处转载的代码:

function createDraft() {

  var forScope = GmailApp.getInboxUnreadCount(); // needed for auth scope

  var raw = 
      'Subject: testing Draft\n' + 
      //'To: test@test.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
                  }
                })
               };

  var resp = UrlFetchApp.fetch("https://www.googleapis.com/gmail/v1/users/me/drafts", params);
  Logger.log(resp.getContentText());
  /*
   * sample resp: {
   *   "id": "r3322255254535847929",
   *   "message": {
   *     "id": "146d6ec68eb36de8",
   *     "threadId": "146d6ec68eb36de8",
   *     "labelIds": [ "DRAFT" ]
   *   }
   * }
   */
}

答案 1 :(得分:6)

Google于2017年9月增加了对草稿的支持。来自the documentation

// The code below creates a draft email with the current date and time.
var now = new Date();
GmailApp.createDraft("mike@example.com", "current time", "The time is: " + now.toString());

答案 2 :(得分:1)

没有。这是不可能的。请参阅documentation

答案 3 :(得分:1)

我现在通过Zapier这样做 - 这太棒了。

请参阅此zap http://zpr.io/fhmT

谷歌关于这个主题的文档在这里:

https://developers.google.com/gmail/api/guides/drafts