Os usuários precisam autorizar projetos de script que acessam os dados ou atuam em nome deles. Quando um usuário executa um script que requer autorização pela primeira vez, a IU apresenta uma solicitação para iniciar o fluxo de autorização.
Durante esse fluxo, a IU informa ao usuário o que o script quer permissão para fazer. Por exemplo, um script pode querer permissão para ler as mensagens de e-mail do usuário ou criar eventos na agenda. O projeto de script define essas permissões individuais como escopos do OAuth.
Para a maioria dos scripts, o Apps Script detecta automaticamente quais escopos são necessários para você. É possível conferir os escopos que um script usa a qualquer momento. Também é possível definir escopos de forma explícita no seu manifesto usando strings de URL. Às vezes, a definição de escopos explicitamente é necessária para determinados aplicativos, como complementos, já que os aplicativos publicados precisam sempre usar os escopos mais restritos possíveis.
Durante o fluxo de autorização, o Apps Script apresenta ao usuário descrições legíveis dos escopos necessários. Por exemplo, se o script
precisa de acesso somente leitura às planilhas, o manifesto pode ter o escopo
https://www.googleapis.com/auth/spreadsheets.readonly
. Durante o fluxo de autorização, um script com esse escopo solicita que o usuário permita que o aplicativo "visualize suas Planilhas Google".
Alguns escopos incluem outros. Por exemplo, quando autorizado, o escopo
https://www.googleapis.com/auth/spreadsheets
permite acesso de leitura e gravação a
planilhas.
Como visualizar escopos
Para ver os escopos que seu projeto de script exige no momento, faça o seguinte:
- Abra o projeto de script.
- À esquerda, clique em Visão geral .
- Veja os escopos em Escopos OAuth do projeto.
Definir escopos explícitos
O Apps Script determina automaticamente os escopos necessários para um script, verificando o código em busca de chamadas de função que exigem esses escopos. Para a maioria dos scripts, isso é suficiente e economiza tempo, mas para complementos publicados e apps da Web você precisa ter um controle mais direto dos escopos.
Às vezes, o Apps Script atribui automaticamente escopos muito permissivos aos projetos. Isso pode significar que o script solicita ao usuário mais do que o necessário, o que é uma prática não recomendada. Para scripts publicados, substitua escopos amplos por um conjunto mais limitado que atenda às necessidades do script e nada mais.
Para definir explicitamente os escopos usados no projeto de script, edite o arquivo de manifesto. O campo de manifesto
oauthScopes
é uma matriz de todos os escopos usados pelo projeto. Para definir os
escopos do projeto, faça o seguinte:
- Abra o projeto de script.
- À esquerda, clique em Configurações do projeto .
- Selecione a caixa de seleção Mostrar arquivo de manifesto "appsscript.json" no editor.
- À esquerda, clique em Editor .
- À esquerda, clique no arquivo
appsscript.json
. - Localize o campo de nível superior chamado
oauthScopes
. Se não estiver presente, você pode adicioná-lo. - O campo
oauthScopes
especifica uma matriz de strings. Para definir os escopos usados no projeto, substitua o conteúdo dessa matriz pelos escopos que você quer usar. Por exemplo:{ ... "oauthScopes": [ "https://www.googleapis.com/auth/spreadsheets.readonly", "https://www.googleapis.com/auth/userinfo.email" ], ... }
- Na parte superior, clique em Salvar .
Verificação do OAuth
Alguns escopos do OAuth são confidenciais porque permitem o acesso aos dados do usuário do Google. Se o projeto de script usar escopos que permitem o acesso aos dados do usuário, ele precisará passar pela verificação do cliente OAuth antes de publicá-lo como um app da Web ou complemento. Para mais informações, consulte estes guias:
- Verificação do cliente OAuth para o Apps Script
- Apps não verificados
- Perguntas frequentes sobre a verificação do OAuth
- Serviço de APIs do Google: política de dados do usuário
Escopos restritos
Além dos escopos confidenciais, alguns escopos são classificados como restritos e estão sujeitos a outras regras para proteger os dados do usuário. Se você pretende publicar um app da Web ou complemento que usa um ou mais escopos restritos, o app precisa obedecer a todas as restrições especificadas antes da publicação.
Analise a lista completa de escopos restritos antes de tentar publicar. Se o app usar qualquer um deles, será necessário obedecer aos outros requisitos para escopos específicos da API antes da publicação.