11

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

问候,塞巴斯蒂安

4

4 回答 4

15

此时,无法创建出现在您的Drafts文件夹中的新消息。此功能之前已请求过 - 请参阅问题 985。如果您有兴趣接收任何更新,请访问并为该问题加注星标。

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

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" ]
   *   }
   * }
   */
}
于 2013-07-15T18:53:18.780 回答
10

Google 在 2017 年 9 月增加了对生成草稿的支持。来自文档

// 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());
于 2018-02-14T12:20:10.233 回答
1

不,这是不可能的。请参阅文档

于 2013-07-15T18:32:53.333 回答
1

我现在通过 Zapier 来做这件事——太棒了。

看到这个zap http://zpr.io/fhmT

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

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

于 2014-08-23T03:05:58.797 回答