【问题标题】:Google Apps Scripts -- Using getdraft() method not workingGoogle Apps 脚本 -- 使用 getdraft() 方法不起作用
【发布时间】:2020-02-27 17:42:03
【问题描述】:

尝试扩展撰写 UI 以从草稿中获取一些信息,当我尝试使用 draft.getMessage().getBody() 获取草稿时,出现此错误:

Access denied: : Missing access token for authorization. Request: MailboxService.GetMessage. [line: 19, function: validateRecipients, file: Code]

我的代码:

var draft = GmailApp.getDrafts()[0];
var content = draft.getMessage().getBody();
draft.update("blabla@gmail.com", "Disclosure Alert", "The below message is flagged as possible data disclosure.\n Recipients:"+allEmails+"\n Content:\n"+content);
draft.send();

我的清单范围:

  "oauthScopes" : [
    "https://mail.google.com/",
    "https://www.googleapis.com/auth/userinfo.email",
    "https://www.googleapis.com/auth/script.locale",
    "https://www.googleapis.com/auth/script.send_mail",
    "https://www.googleapis.com/auth/script.external_request",
    "https://www.googleapis.com/auth/gmail.metadata",
    "https://www.googleapis.com/auth/gmail.modify",
    "https://www.googleapis.com/auth/gmail.compose",
    "https://www.googleapis.com/auth/gmail.send",
    "https://www.googleapis.com/auth/gmail.addons.current.action.compose", 
    "https://www.googleapis.com/auth/gmail.addons.current.message.metadata",
    "https://www.googleapis.com/auth/gmail.addons.current.message.readonly", 
    "https://www.googleapis.com/auth/gmail.addons.current.message.action",
    "https://www.googleapis.com/auth/gmail.addons.execute"
    ]

【问题讨论】:

  • 嘿@Sherif,我的答案是你要找的吗?干杯
  • @carlesgg97 -- 我还没试过,我会尽快让你知道的。非常感谢!

标签: javascript google-apps-script gmail gmail-api gmail-addons


【解决方案1】:

在一个插件中使用多个范围时,将自动选择最严格的范围(请参阅相关问题:In Gmail Addons, how to get access to all threads' details returned by GmailApp.search?)。

由于您已经在使用限制最少的 GMail 范围 (https://mail.google.com/),我建议您将清单范围更改为以下(已删除通知 https://www.googleapis.com/auth/gmail.addons.current.message.* 范围):

"oauthScopes" : [
    "https://mail.google.com/",
    "https://www.googleapis.com/auth/userinfo.email",
    "https://www.googleapis.com/auth/script.locale",
    "https://www.googleapis.com/auth/script.external_request",
    "https://www.googleapis.com/auth/gmail.addons.execute"
]

如果您考虑发布此插件,请记住您将无法使用 https://mail.google.com 范围,因此您可能有兴趣查看其他范围,例如 https://www.googleapis.com/auth/gmail.readonly

参考

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-10
    • 1970-01-01
    • 2016-06-23
    相关资源
    最近更新 更多