Na última edição do Google I/O o Google apresentou uma nova API para o Gmail, direcionada à "dar aos desenvolvedores um acesso RESTful flexível ao inbox (caixa de e-mail) dos usuários, com uma interface natural para Threads, Messages, Labels, Drafts e History", trazendo para os desenvolvedores múltiplos benefícios sobre o IMAP, disse a Google.
O objetivo da API Gmail não é matar o protocolo IMAP, como foi inicialmente mal compreendido , mas tornar o desenvolvimento de uma aplicação Gmail mais fácil. Como a própria Google disse, "a API Gmail não deve ser utilizada para substituir o IMAP para um acesso cliente de e-mail completo".
A nova API Gmail não vai oferecer acesso completo ao inbox do Gmail, como detalhado no blog da Google, e será restrito à:
- Ler mensagens do Gmail.
- Enviar mensagens de e-mail.
- Modificar os labels aplicados à mensagens e threads.
- Procurar por mensagens e threads específicas.
A nova API oferece acesso RESTful ao inbox do usuário utilizando autorização OAuth 2.0 e suporta operações CRUD em tipos de dados do Gmail, como threads, messages, labels, drafts e history. A API oferece um controle refinado ao inbox do usuário, de forma que, se uma aplicação precisa somente enviar e-mails em nome do usuário e não precisa lê-los, a aplicação pode ser autorizada através de OAuth para apenas enviar e-mails. Este é um benefício oferecido pela API Gmail, em contraste com o IMAP, que requer acesso à todas as operações para todas as mensagens de um usuário, como Eric DeFriez, do Gmail Extensibility Team comenta no blog do Google.
DeFriez ainda aponta como outro benefício da API Gmail, a funcionalidade de history da API, que permite consultar o histórico de alterações do inbox. Isto tornará facilitada a sincronia do inbox, "evitando a necessidade de fazer arqueologia para descobrir o que foi alterado".
Além disto, DeFriez afirma que o maior benefício da nova API é a performance: "os resultados de nossos testes e feedback dos desenvolvedores sobre os pré-releases sugerem que a nova API Gmail está oferecendo grandes melhorias de performance sobre o IMAP para casos de uso de aplicações web."
O Google disponibilizou bibliotecas cliente para a API Gmail para diversas linguagens, como Java, JavaScript, .NET, Python, Objective-C e PHP. Versões iniciais das bibliotecas cliente também estão disponíveis para Go, Node.js e Ruby.
Além das bibliotecas cliente, o Google também disponibilizou um guia de início rápido em Java e Python.