在最近的Google I/O大会上,Google推出了新的Gmail API。Google声称,“它为话题、消息、标签、草稿和历史提供了直观的接口,旨在使开发人员可以以RESTful方式灵活的访问用户收件箱”,而且与IMAP相比,该API有诸多优势。\
Gmail API的目标并不像最初人们误解的那样是消灭IMAP协议,而是使Gmail应用程序开发更简单。正如Google自己说的那样,“Gmail API不应该取代IMAP用作全功能的电子邮件客户端访问。”\
新的Gmail API并没有提供Gmail收件箱的完全访问权限,关于这一点,Google在博客上有详细说明,该API只用于:\
- 从Gmail读取消息\
- 发送电子邮件消息\
- 修改附加到消息和话题的标签\
- 搜索特定的消息和话题
新的Gmail API允许开发人员在OAuth 2.0授权下以RESTful方式访问用户的电子信箱,并支持对话题、消息、标签、草稿和历史等实际的Gmail数据类型进行CRUD操作。该API对用户的电子信箱提供了细粒度的控制,这样,如果一个应用程序只需要代表用户发送邮件,并且不需要读取邮件,那么就可以通过OAuth只授予它邮件发送的权限。与IMAP相比,这是Gmail API的一个优势,因为对于所有的操作,IMAP都需要访问所有的用户消息,Gmail扩展团队的Eric DeFriez在Google的博客上这样评论道。\
DeFriez继续写道,Gmail API的另一个优势来自其历史记录功能,该API允许查询收件箱的更改历史。这使得与收件箱保持同步更容易,“不需要对历史数据做复杂的分析就可以找出什么发生了更改”。\
然而,新的Gmail API的最大优势是速度,据DeFriez介绍:“我们的测试结果和来自预发行版开发人员的反馈表明,对于Web应用程序的使用场景而言,新的Gmail API与IMAP相比提供了显著的性能改进。”\
Google为多种语言提供了Gmail API客户端库,包括Java、JavaScript、.NET、Python、Objective-C和PHP。Go、Node.js和Ruby语言的客户端库尚处于早期阶段。\
除了客户端库,Google还提供了一份在Java和Python中使用该API的快速入门指南。\