微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Gmail 插件中授予权限

如何解决在 Gmail 插件中授予权限

我正在尝试在 Google Apps Scripts 插件中为 Gmail 编写一个脚本,该插件将在周末回复所有电子邮件,并带有外出消息:

function autoReply() {
  var interval = 5;        //  if the script runs every 5 minutes; change otherwise
  var daysOff = [5];   // 1=Mo,2=Tu,3=We,4=Th,5=Fr,6=Sa,0=Su
  var date = new Date();
  var day = date.getDay();
  var label = GmailApp.getUserLabelByName("autoresponded");
  if (daysOff.indexOf(day) > -1) {
    var timeFrom = Math.floor(date.valueOf()/1000) - 60 * interval;
    var threads = GmailApp.search('is:inBox !label:autoresponded after:' + timeFrom);
    for (var i = 0; i < threads.length; i++) {
      var message = threads[i].getMessages()[0];
      if (message.getFrom().indexOf("myemail@gmail.com") < 0 && message.getFrom().indexOf("no-repl") < 0 && message.getFrom().indexOf("bounce") < 0 && message.getFrom().indexOf("spam") < 0) {
        threads[i].reply("",{
          htmlBody: "<p>Thank you for your message. We will get back to you as soon as possible. </p>"
        });
        label.addToThread(threads[i]);
      }
    }
  }
}

但是我不断收到此错误

异常:脚本无权执行该操作。所需权限:(https://www.googleapis.com/auth/gmail.labels || https://www.googleapis.com/auth/gmail.Metadata || https://www.googleapis.com/auth/gmail.readonly || https://www.googleapis.com/auth/gmail.modify || https://mail.google.com/)

这是在我允许我的 Gmail 帐户在 Gmail 中获得许可后发生的。有什么我在这里想念的吗?这是正在经历的另一层?

我尝试删除加载项并重新允许 Gmail 的权限,但没有成功。附加组件的触发器是每 5 分钟一次,就像脚本中的间隔一样。 我尝试转到错误中的链接,但他们只是想出了空白页。

解决方法

您必须在 Google Apps 脚本项目清单中设置 OAuth 范围。


来自https://developers.google.com/workspace/add-ons/how-tos/building-gsuite-addons#verify_the_add-on_oauth_scopes

验证附加 OAuth 范围
范围定义了允许加载项代表用户执行的操作。对于附加组件来说,最佳做法是仅具有它们必须按顺序执行的操作的范围,仅此而已。

在附加项目中,明确设置附加范围,以确保附加使用尽可能少的范围。您可以在附加组件清单中定义附加组件使用的范围。

有关详细信息,请参阅范围。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。