Visão geral da API do Gmail

A API do Gmail é uma API RESTful que pode ser usada para acessar caixas de correio do Gmail e enviar e-mails. Para a maioria dos aplicativos web (incluindo aplicativos móveis), a API do Gmail é a melhor escolha para acesso autorizado aos dados do Gmail de um usuário.

A API do Gmail oferece acesso flexível e RESTful à caixa de entrada do usuário, com interface anatural paraThreads,Messages,Labels,Drafts,History, e.Settings.A partir da linguagem moderna de sua escolha, seu aplicativo pode usar a API para adicionar funcionalidades do Gmail, como por exemplo:

  • Ler mensagens do Gmail
  • Enviar mensagens de e-mail
  • Modificar os rótulos aplicados às mensagens e threads
  • Procurar mensagens e threads específicos
  • Criar filtros para rotular automaticamente, ou arquivar mensagens

Tudo que você precisa para usar a API do Gmail é a biblioteca do cliente para sua escolha de idioma e um aplicativo que possa se autenticar como um usuário do Gmail.

Casos de uso típico

A API do Gmail pode ser usada em uma variedade de diferentes aplicativos, incluindo, tipicamente:

    >

  • Executar, indexar e fazer backups apenas para leitura
  • Gerenciamento de etiquetas (adicionar/remover etiquetas)
  • Enviar mensagens automatizadas ou programáticas
  • Migrar contas de e-mail de outros provedores
  • Configuração de assinaturas de e-mail padronizadas para usuários em um domínio

Como faço para saber mais?

Utilize esta documentação para começar a construir um aplicativo Gmail hoje:

  • As bibliotecas clientes estão disponíveis para download em várias linguagens e simplificam as requisições da API.
  • Os tópicos do guia do desenvolvedor ajudam você a entender melhor como implementar casos de uso particular.
  • A referência da API dá-lhe detalhes sobre everyresource e método na API do Gmail.

Visão geral da API

A API do Gmail é um serviço web: utiliza uma API RESTful com uma carga útil JSON.Esta secção fornece uma visão geral dos recursos da API e a sua utilização. Para informações detalhadas sobre os recursos e métodos da API, consulte a referência do GmailAPI.

Tipos de recursos-chave

A API do Gmail fornece vários tipos de recursos:

  • Mensagens
  • Rótulos
  • Rascunhos
  • História
  • Temas
  • Configurações

Mensagens e rótulos são as unidades básicas de uma caixa de correio. Rascunhos, histórico e threads contêm todas uma ou mais mensagens com metadados adicionais.

Mensagens são imutáveis: elas só podem ser criadas e excluídas. Nenhuma propriedade de mensagem pode ser alterada além das etiquetas aplicadas a uma determinada mensagem.

Os rótulos servem como o principal meio de categorização e organização de mensagens e threads. Uma etiqueta tem uma relação de muitas mensagens e threads:uma única mensagem pode ter várias etiquetas aplicadas a ela e uma única etiqueta pode ser aplicada a várias mensagens ou threads. As etiquetas também vêm em dois tipos:system e user. Etiquetas de sistema, tais como INBOX, TRASH, ou SPAM, são criadas internamente e não podem ser criadas, excluídas, ou modificadas. Entretanto, algumas etiquetas de sistema, tais como INBOX, podem ser aplicadas ou removidas das mensagens ethreads. As etiquetas de usuário podem ser adicionadas, excluídas ou modificadas pelo usuário ou por uma aplicação.

Rascunhos representam mensagens não enviadas. O envio de um rascunho elimina automaticamente o rascunho e cria uma mensagem com a etiqueta do sistema.SENT

História é uma coleção de mensagens modificadas recentemente em ordem cronológica. Em alguns casos, como quando um cliente fica muito desatualizado, o cliente deve sincronizar de forma manual.

Temas são coleções de mensagens que representam uma conversa. As mensagens de gostos, tópicos também podem ter etiquetas aplicadas a elas. No entanto, não é possível criar mensagens nãolikemessages, os threads não podem ser criados, apenas excluídos. As mensagens podem, no entanto, ser inseridas em uma thread.

Configurações controlam como as funcionalidades do Gmail se comportam para um usuário. Área de configurações disponível para acesso POP e IMAP, encaminhamento de e-mail, filtros, resposta automática de férias, envio como apelido, assinaturas, delegados e idioma.

Auth e a API do Gmail

Como outras APIs REST do Google, a API do Gmail usaOAuth 2.0 para lidar com autenticação e autorização. Seu aplicativo irá especificar um ou morescópios: strings que identificam os recursos que ele precisa acessar. Esses escopos são usados juntamente com um conjunto de tokens para garantir o acesso de um usuário aos recursos.Um escopo representa uma forma particular de acesso a um único recurso ou a um grupo de recursos, por exemplo:

  • Ler uma mensagem do Gmail (https://www.googleapis.com/auth/gmail.readonly)
  • Alterar etiquetas aplicadas a uma thread ou mensagem(https://www.googleapis.com/auth/gmail.modify)
  • Enviar uma mensagem em nome de um usuário(https://www.googleapis.com/auth/gmail.compose)

Embora você possa codificar explicitamente as chamadas de autorização de serviços da web, você normalmente deve simplificar seu aplicativo usando as bibliotecas clientes da API do Google, disponíveis para muitas linguagens de programação.

Para saber mais sobre como usar o auth com a API do Gmail, vejaAuthorizing Your App with Gmail.

Scopes

A API do Gmail suporta uma série de escopos de autorização finos para permitir apenas o nível de acesso necessário. Ao solicitar o nível mínimo de acesso necessário, os usuários se sentem mais confiantes ao conceder acesso à sua caixa de correio.

Exemplo caso de uso

Caso de uso: imprimir uma página de tópicos para o usuário atualmente autenticado (por exemplo, em um painel de mensagens recentes). Para conseguir isso, seu aplicativo executaria os seguintes passos:

  1. Autenticar como usuário, usando o escopohttps://www.googleapis.com/auth/gmail.readonly.
  2. Chame o método da API.GET https://www.googleapis.com/gmail/v1/users/<userId>/threads
  3. Processe a lista de tópicos retornados em sua aplicação.

Para exemplo de código real, consulte o Quickstart para a linguagem de sua escolha.

Usos comuns

Esta seção fornece uma visão de alto nível de como alguns casos de uso comum podem ser implementados. Para mais detalhes, consulte os guias do desenvolvedor.

Enviar mensagens do Gmail

Emails são enviados como strings codificadas de base64url dentro do rawpropriedade de uma mensagem. Para criar e enviar uma mensagem:

  1. Criar o conteúdo do e-mail de uma forma conveniente, que pode depender da linguagem de programação que você está usando.
  2. Criar uma string codificada na base64url representando esse conteúdo.
  3. Criar uma nova fonte de mensagens e definir sua propriedade raw para a string base64url que você acabou de criar.
  4. Chamar messages.send para enviar a mensagem.

Recebendo e-mails recebidos

Dando o ID de um e-mail, você pode buscar o conteúdo usando o método do recurso Users.messages.

Quando você pega uma mensagem, você pode especificar o formato de payload para a resposta.FULL (o padrão) formato retorna toda a mensagem analisada no campo payload.MINIMAL formato retorna apenas os metadados como identificadores e etiquetas.RAW formato retorna os dados como uma string codificada como base64url dentro da propriedade.

Histórico de mudanças de e-mail

Message changes are represented byHistory objects. A propriedadestart_history_id permite definir a partir de que ponto você deseja que as mudanças sejam retornadas. Algumas alterações podem afetar mais de uma mensagem e o histórico representando essa alteração conterá várias mensagens.

Gestão de etiquetas

As etiquetas aplicadas a uma thread também são aplicadas a todas as mensagens dentro da thread.Se uma etiqueta é excluída, ela é removida de todas as threads e mensagens às quais ela foi aplicada. A propriedade messageListVisibility é usada para determinar se as mensagens ifmessages com esta etiqueta aparecem na lista de mensagens. Da mesma forma, a propriedade labelListVisibility é usada para determinar se a etiqueta aparece na lista de etiquetas. Você pode usar o métodomessages.modify outhreads.modify para mudar as etiquetas aplicadas às mensagens ou threads, respectivamente.

.

Leave a Reply