如何仅通过我的个人帐户获得对Google App脚本的授权?

时间:2018-12-02 19:36:39

标签: google-apps-script oauth authorization

如果我在错误的地方张贴了,请原谅。我是一个完全无知的业余爱好者,但是大约一年前,在读完一本菜谱之后,我设法在G Suite开发人员中心安装了3个Google Apps脚本,以在x天后删除我的gmail帐户中的带标签的电子邮件。

脚本运行正常,但是现在我收到一条失败消息:“执行此操作需要授权。”

我2天前更改了密码,我认为这是问题所在。我看不到OAuth授权如何应用于我的脚本,这些脚本仅在我的Google帐户中运行,而不在任何网站上运行。

关于授权的Google递归文档完全让我迷失了。

该如何解决?如何清除此错误?

仅供参考,这是脚本之一:

function cleanUp() {
  var delayDays = 2 // Enter # of days before messages are moved to trash
  var maxDate = new Date();
  maxDate.setDate(maxDate.getDate()-delayDays);
  var label = GmailApp.getUserLabelByName("TBD2");
  var threads = label.getThreads();
  for (var i = 0; i < threads.length; i++) {
    if (threads[i].getLastMessageDate()<maxDate)
      {
        threads[i].moveToTrash();
      }
  }
}

1 个答案:

答案 0 :(得分:0)

您遇到的错误表明脚本为lacking the authorization needed to run。在脚本编辑器中或从自定义菜单项中运行脚本时,将向用户显示授权对话框。但是,如果从触发器运行脚本,将脚本嵌入Google网站页面或作为服务运行,则无法显示对话框,并显示此错误。

此错误通常是由用户授权之前触发的触发器引起的。 如果触发器继续触发并导致此错误,则可以通过执行以下操作来访问触发器:

  
      在Apps脚本编辑器中
  1. 选择E dit>所有触发器。出现的对话框显示了您帐户上正在运行的所有活动触发器。
  2.   
  3. 在列表中找到有问题的触发器。
  4.   
  5. 单击触发器名称旁边的清除图标将其删除。
  6.   
  7. 点击保存以记录删除。
  8.   

您还可以通过uninstalling the add-on删除有问题的附加触发器。