如何通过chrome扩展自动设置gmail过滤器?

时间:2015-04-13 14:33:34

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

我想将以下用例实现为Chrome扩展程序:

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

第一部分听起来更容易:有gmail API可以使用,甚至可以使gmail.js项目变得更容易。

添加过滤器似乎要困难得多。有email settings API doing precisely what I want但我相当确定它只能用于商业帐户(自定义电子邮件域,赢得gmail.com工作)。我希望解决方案更具普遍性。

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

模拟用户活动的示例位于this answer

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

我缺少一种更直接或更简单的方法吗?

1 个答案:

答案 0 :(得分:1)

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

我不完全理解此请求中使用的参数(如果有人有更好的信息,请分享),但我发现sample code非常有用。

gmail.js社区广泛讨论的第二个问题是,Gmail安全策略会阻止您注入自己的脚本。这被this boilerplate project

中显示的方法绕过

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