【问题标题】:Can I make my Google script keep working without my interaction? [duplicate]我可以让我的 Google 脚本在没有我的交互的情况下继续工作吗? [复制]
【发布时间】:2022-01-02 11:16:37
【问题描述】:

几年前,我创建了一组三个 Google 脚本,允许我在设定的时间后删除我的电子邮件。时间就像“一个月后删除”、“一年后删除”和“5年后删除”。 这些脚本在第一年运行良好,但后来我不得不重新激活它们。

然后我患上了老年痴呆症……我设法维持了几年,但现在我不知道如何重新激活脚本。

我怀疑我从未设法将我的脚本投入生产。

有人能帮我解决这个问题吗?

也许 Gmail 现在有自动删除电子邮件的功能?

如果您能帮助我,请记住我现在几乎不具备 IT 技能,因此您可能需要很大的耐心。 ????

【问题讨论】:

  • 我很高兴将我的 3 个脚本发送给您,以便您了解它们是如何工作的。
  • 我记得我是如何构建脚本的;我将要超时的电子邮件拖到一个特殊文件夹中,然后该文件夹会自动使用我的脚本在所选时间后删除电子邮件。
  • 也许your previous posts 喜欢this 会唤起你的记忆。
  • 你能在你的问题中发布你的三个脚本吗?
  • 由于不断进行大量更改,很难完全保证脚本在没有交互的情况下继续工作。我的 gmail 应用程序的最后一次更新进行了更改,导致我的所有应用程序停止工作。我以为他们会在下一次更新时修复它,他们做到了。

标签: google-apps-script gmail


【解决方案1】:

删除标签中的所有消息:

您需要启用 Gmail API。如果您从未这样做过,您可能需要一些帮助。

function delEmailsInALabel() {
  let ts = GmailApp.search('label:enter label here');
  let ids = [];//array of message ids
  if(ts && ts.length > 0) {
    ts.forEach(t => {
      let ms = t.getMessages()
      if(ms && ms.length > 0) {
        ms.forEach(m => {
          ids.push(m.getId())
        });
      }
    });
  }
  var request = { "ids": ids };//message ids to delete
  console.log(ids);
  Gmail.Users.Messages.batchDelete(request, "me");//This is irreversible
}

【讨论】:

  • 我不记得启用了 Gmail API。有没有我可以做的测试?
  • 如果您从未启用 Gmail API,那么您的脚本永远不会删除电子邮件,因为 GmailApp 无法删除电子邮件,只能将它们放入垃圾箱
  • 为了启用 Gmail 应用程序,您需要在新编辑器中转到服务并单击 + 并选择 Gmail API,您还需要转到云控制台或这些天所谓的任何东西在那里启用它。我怀疑您在执行此操作时可能需要帮助。
  • 如果我的脚本在最后一行失败,则进行测试。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-08-26
  • 1970-01-01
  • 2021-04-23
  • 1970-01-01
  • 2020-02-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多