【问题标题】:How to automatically set gmail filter via chrome extension?如何通过 chrome 扩展自动设置 gmail 过滤器?
【发布时间】:2015-06-18 22:06:27
【问题描述】:

我想实现以下用例作为 Chrome 扩展:

  • 用户访问gmail
  • 扩展检查当前电子邮件正文中的关键字
  • 如果存在关键字,则会添加并保存 gmail 过滤器(添加标签、存档,此处不重要细节)

第一部分听起来更容易:有 gmail API 可以使用,甚至还有一个 gmail.js 项目应该会更容易。

添加过滤器似乎要困难得多。有email settings API doing precisely what I want,但我很确定它只能由企业帐户使用(自定义电子邮件域,不适用于 gmail.com)。我希望解决方案更通用。

我想到的一件事是使用浏览器自动化——看到触发关键字后,脚本会自动点击“添加过滤器”链接,等待 AJAX,设置过滤器参数并确认。

模拟用户活动的示例在this answer

这可能发生在弹出窗口后面的 gmail 页面(“请稍候,调整过滤器”)或后台选项卡中,以防止它干扰用户的流程。不过,这对我来说似乎是一种丑陋的解决方法。

我是否缺少更直接或更简单的方法?

【问题讨论】:

    标签: google-chrome-extension gmail-api google-email-settings-api


    【解决方案1】:

    经过更多实验和恢复旧的 github 项目后,我发现只需从当前会话向 gmail 发出特定的 POST 消息即可为登录用户设置过滤器。

    我不完全了解此请求中使用的参数(如果有人有更好的信息,请分享),但我找到了一个 sample code 非常有帮助。

    在 gmail.js 社区中广泛讨论的第二个问题是 Gmail 安全策略会阻止您注入自己的脚本。这被this boilerplate project中显示的方法绕过了

    我编译了这些解决方案来解决我的特定用例。这是我的解决方案的example project,它应该可以开箱即用 - 如果有疑问,请参阅自述文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-20
      • 1970-01-01
      • 2021-03-11
      • 2011-11-01
      • 2014-03-09
      • 2014-12-01
      相关资源
      最近更新 更多