Os usuários precisam autorizar complementos e outros aplicativos que acessem os dados ou agir em nome deles. Quando um usuário executa um complemento pela primeira vez, a interface do complemento apresenta uma solicitação de autorização para iniciar o fluxo de autorização.
Durante esse fluxo, o prompt informa ao usuário o que o aplicativo quer permissão para fazer. Por exemplo, um complemento pode querer permissão para ler um enviar e-mails para um usuário ou criar eventos na agenda. O script do complemento define essas permissões individuais como escopos do OAuth.
Você declara escopos no seu manifesto
usando strings de URL. Durante o fluxo de autorização, o Apps Script apresenta uma
descrição legível pelo usuário do escopo. Por exemplo, seu complemento do Google Workspace
pode usar o erro "Ler a mensagem atual" , que é escrito no manifesto como
https://www.googleapis.com/auth/gmail.addons.current.message.readonly
: Durante
o fluxo de autorização, um complemento com esse escopo pede ao usuário que permita que o
complemento acesse suas mensagens de e-mail quando estiver em execução.
Como visualizar escopos
Para conferir os escopos que seu projeto de script exige atualmente, faça o seguinte:
- Abra o projeto de script.
- À esquerda, clique em Visão geral .
- Confira os escopos em "Escopos do OAuth do projeto".
Também é possível conferir os escopos atuais do projeto de script no manifesto do projeto,
no campo oauthScopes
,
mas somente se você tiver definido esses escopos explicitamente.
Como definir escopos explícitos
O Apps Script determina automaticamente quais escopos um script precisa ao verificar o código em busca de chamadas de função que os exigem. Para a maioria dos scripts, isso é suficientes e economiza tempo. No entanto, para complementos publicados, recomendamos controle mais direto dos escopos.
Por exemplo, o Apps Script pode dar a um projeto de script de complemento a opção mais permissiva
escopo https://mail.google.com
por padrão. Quando um usuário autoriza um projeto de script
com esse escopo, o projeto recebe acesso total à conta do Gmail
do usuário. Para complementos publicados, é obrigatório substituir este escopo por um
um conjunto limitado que atenda às necessidades dos complementos e nada mais.
É possível definir explicitamente os escopos usados pelo projeto de script editando
o arquivo manifesto. O campo de manifesto
oauthScopes
é uma matriz
de todos os escopos usados pelo complemento. Para definir os escopos do seu projeto, faça o
seguintes:
- Veja os escopos usados atualmente pelo complemento. Determine o que mudanças precisam ser feitas, como o uso de um escopo mais restrito.
- Abra o arquivo de manifesto do complemento.
- Localize o campo de nível superior rotulado como
oauthScopes
. Se ele não estiver presente, adicione-o. O campo
oauthScopes
especifica uma matriz de strings. Para definir os escopos seu projeto usa, substitua o conteúdo dessa matriz pelos escopos que você que quer que ele use. Por exemplo, em um complemento do Google Workspace que estende o Gmail, você pode ter o seguinte:{ ... "oauthScopes": [ "https://www.googleapis.com/auth/gmail.addons.current.message.metadata", "https://www.googleapis.com/auth/userinfo.email" ], ... }
Salve as mudanças no arquivo de manifesto.
Verificação do OAuth
O uso de determinados escopos OAuth sensíveis pode exigir que o complemento seja aprovado Verificação do cliente OAuth antes de publicá-lo. Para mais informações, consulte estes guias:
- Verificação de cliente OAuth para o Apps Script
- Apps não verificados
- Perguntas frequentes sobre a verificação OAuth
- Serviço de APIs do Google: política de dados do usuário
Escopos restritos
Alguns escopos são restritos e estão sujeitos a regras adicionais que ajudam proteger os dados do usuário. Se você pretende publicar um complemento do Gmail ou do Editor que usa um ou mais escopos restritos, ele precisa obedecer a todas as restrições especificadas antes de ser publicado.
Consulte a lista completa de escopos restritos antes de tentar publicar. Se o complemento usar qualquer uma delas, você precisará obedecer com o Outros requisitos para escopos específicos da API antes da publicação.
Escopos da agenda
Confira abaixo escopos usados com frequência para complementos do Google Workspace que ampliam o Google Agenda.
Escopo | |
---|---|
Acessar metadados de eventos |
https://www.googleapis.com/auth/calendar.addons.execute
Obrigatório se o complemento acessar metadados de eventos da Agenda. Permite que o complemento acesse os metadados do evento. |
Ler dados de eventos gerados pelo usuário |
https://www.googleapis.com/auth/calendar.addons.current.event.read
Obrigatório se o complemento precisar ler dados de eventos gerados pelo usuário.
Permite que o complemento acesse dados de eventos gerados pelo usuário. Esses dados só estão disponíveis se o
campo de manifesto |
Gravar dados de eventos gerados pelo usuário |
https://www.googleapis.com/auth/calendar.addons.current.event.write
Obrigatório se o complemento precisar gravar dados de eventos gerados pelo usuário.
Permite que o complemento edite dados de eventos gerados pelo usuário. Esses dados são
estará disponível apenas se o
Campo do manifesto |
Escopos do Drive
Confira abaixo escopos usados com frequência para complementos do Google Workspace que ampliam o Google Drive.
Escopo | |
---|---|
Ler metadados do item selecionado |
https://www.googleapis.com/auth/drive.addons.metadata.readonly
Obrigatório se o complemento implementar uma interface contextual acionada quando o usuário seleciona itens no Drive. Permite que o complemento leia metadados limitados sobre itens que um usuário selecionou no Google Drive. Os metadados são limitados ao ID, ao título, ao tipo MIME, ao URL do ícone e à permissão do complemento para acessar o item. |
Acesso por arquivo |
https://www.googleapis.com/auth/drive.file
Recomendado se o complemento precisar acessar um Drive específico
.
Concede acesso por arquivo aos arquivos criados ou abertos pelo aplicativo usando
a unidade avançada do Apps Script
Serviço. Isso não permite o uso de ações semelhantes que utilizem o
serviço básico do Drive,
No entanto. A autorização de arquivo é concedida por arquivo e é
revogada quando o usuário desautoriza o app. |
Escopos dos complementos do Gmail
Alguns escopos foram criados especificamente para complementos do Google Workspace para ajudar a proteger os dados do Gmail dos usuários. É necessário adicionar esses escopos explicitamente ao manifesto do complemento, junto com todos os outros que o código do complemento exige.
Confira abaixo os escopos mais usados para complementos do Google Workspace que estendem o Gmail. Os marcados como Obrigatório precisam ser adicionados ao manifesto do complemento do Google Workspace se ele estende o Gmail.
Substitua o escopo https://mail.google.com
, que é muito amplo, nos seus
com um conjunto mais estreito de escopos que permitem as interações
necessidades e nada mais.
Escopo | |
---|---|
Criar novos rascunhos |
https://www.googleapis.com/auth/gmail.addons.current.action.compose
Obrigatório se o complemento usa acionadores de ação de composição. Permite que o complemento crie temporariamente novas mensagens de rascunho e respostas. Consulte Como criar rascunhos de mensagens para mais detalhes. Esse escopo também é usado com frequência com ações de composição. Requer um token de acesso. |
Ler metadados de mensagens abertas |
https://www.googleapis.com/auth/gmail.addons.current.message.metadata
Concede acesso temporário aos metadados da mensagem aberta (como o
assunto ou destinatários). Não permite a leitura do conteúdo da mensagem
e exige um token de acesso. Obrigatório se o complemento usar metadados na ação de escrita e gatilhos. Para ações de composição, esse escopo é necessário se um acionador de composição precisar de acesso a metadados. Na prática, esse escopo permite que um gatilho de composição ative listas de destinatários (para:, cc: e bcc:) de um rascunho de e-mail de resposta. |
Ler o conteúdo da mensagem aberta |
https://www.googleapis.com/auth/gmail.addons.current.message.action
Concede acesso ao conteúdo da mensagem aberta após uma interação do usuário, como quando um item de menu de complemento é selecionado. Requer um token de acesso. |
Ler o conteúdo das conversas abertas |
https://www.googleapis.com/auth/gmail.addons.current.message.readonly
Concede acesso temporário aos metadados e ao conteúdo da mensagem aberta. Também concede acesso ao conteúdo de outras mensagens na conversa aberta. Requer um token de acesso. |
Ler qualquer conteúdo e metadados da mensagem |
https://www.googleapis.com/auth/gmail.readonly
Ler os metadados e o conteúdo de qualquer e-mail, incluindo a mensagem aberta. Obrigatório se você precisar ler informações sobre outras mensagens, como ao realizar uma consulta de pesquisa ou ler uma conversa de e-mail inteira. |
Tokens de acesso
Para proteger os dados do usuário, os escopos do Gmail usados nos Complementos do Google Workspace concedem apenas acesso temporário aos dados do usuário. Para ativar o acesso temporário, chame a
função GmailApp.setCurrentMessageAccessToken(accessToken)
usando um token de acesso como argumento. Você precisa receber um token de acesso de um
objeto de evento de ação.
O exemplo a seguir mostra como definir um token de acesso para permitir o acesso aos
metadados de uma mensagem. O único escopo necessário para este exemplo é
https://www.googleapis.com/auth/gmail.addons.current.message.metadata
.
function readSender(e) {
var accessToken = e.gmail.accessToken;
var messageId = e.gmail.messageId;
// The following function enables short-lived access to the current
// message in Gmail. Access to other Gmail messages or data isn't
// permitted.
GmailApp.setCurrentMessageAccessToken(accessToken);
var mailMessage = GmailApp.getMessageById(messageId);
return mailMessage.getFrom();
}
Escopos de editor
Confira abaixo escopos usados com frequência para complementos do Google Workspace que ampliam os recursos do Documentos, Planilhas, e Apresentações.
Escopo | |
---|---|
Acesso atual a arquivos do Documentos |
https://www.googleapis.com/auth/documents.currentonly
Obrigatório se o complemento acessar a API Docs do Apps Script. Concede acesso temporário ao conteúdo do documento aberto. |
Acesso atual ao arquivo do app Planilhas |
https://www.googleapis.com/auth/spreadsheets.currentonly
Obrigatório se o complemento acessa a API Apps Script Sheets. Concede acesso temporário ao conteúdo da planilha aberta. |
Acesso atual aos arquivos do Apresentações Google |
https://www.googleapis.com/auth/presentations.currentonly
Obrigatório se o complemento acessar a API Slides do Apps Script. Concede acesso temporário ao conteúdo da apresentação aberta. |
Acesso por arquivo |
https://www.googleapis.com/auth/drive.file
O complemento precisa usar o |
Outros escopos
Seu complemento pode exigir escopos adicionais se usar outros serviços do Apps Script. Na maioria dos casos, é possível permitir que o Apps Script detecte esses escopos e atualize o manifesto automaticamente. Ao editar a lista de escopos do manifesto, não remova nenhum escopo, a menos que você esteja substituindo por uma alternativa mais adequada, como um escopo mais estreito.
Como referência, aqui está uma lista de escopos do Apps Script usados com frequência em com complementos do Google Workspace:
Escopo | |
---|---|
Ler o endereço de e-mail do usuário |
https://www.googleapis.com/auth/userinfo.email
Permite que o projeto leia o endereço de e-mail do usuário atual. |
Permitir ligações para serviços externos |
https://www.googleapis.com/auth/script.external_request
Permite que o projeto faça solicitações
|
Ler a localidade e o fuso horário do usuário |
https://www.googleapis.com/auth/script.locale
Permite que o projeto saiba a localidade e o fuso horário do usuário atual. Consulte Acesse a localidade e o fuso horário do usuário para mais detalhes. |
Criar acionadores |
https://www.googleapis.com/auth/script.scriptapp
Permite que o projeto crie e gatilhos de detecção. |
Visualizar links de terceiros |
https://www.googleapis.com/auth/workspace.linkpreview
Obrigatório se o complemento visualizar links de um serviço de terceiros. Permite que o projeto veja um link em um aplicativo do Google Workspace enquanto o usuário interage com ele. Para saber mais, consulte Conferir prévias de links com ícones inteligentes |
Criar recursos de terceiros |
https://www.googleapis.com/auth/workspace.linkcreate
Obrigatório se o complemento criar recursos em um serviço de terceiros. Permite que o projeto leia as informações enviadas pelos usuários o formulário de criação de recursos e e inserir um link para o recurso em um aplicativo do Google Workspace. Para saber mais, consulte Criar recursos de terceiros no menu "@". |