Como trabalhar com a identidade do usuário

Os usuários utilizarão seu conector da comunidade para criar as próprias fontes de dados. O conector pode acessar a identidade do usuário efetivo nessas fontes. Dependendo das credenciais da fonte de dados, esse usuário poderá ser o criador da fonte (credenciais do proprietário) ou o visualizador de relatórios (credenciais do visualizador).

Vantagens

  • Você pode acessar os serviços e as APIs do Google em nome do usuário.
  • É possível implementar o controle de acesso personalizado para garantir que apenas dados relevantes sejam exibidos.
  • Você consegue personalizar a experiência para o usuário efetivo.

Etapas de implementação

Como acessar o token OAuth do usuário

Seu conector pode acessar os serviços e as APIs do Google em nome do usuário enviando o token OAuth correspondente. Para acessar esse token do usuário efetivo no conector, utilize ScriptApp.getOAuthToken(). Consulte a referência do getOAuthToken. Esse token incluirá os escopos de autorização adicionados durante o processo de autorização do conector.

Para a maioria dos conectores, o Apps Script detecta automaticamente quais escopos são necessários ao analisar e processar o script. Você pode conferir os escopos que o conector usa a qualquer momento. Também é possível definir escopos de forma explícita no seu manifesto usando strings de URL. Se você quiser acessar um serviço ou uma API do Google em nome do usuário, inclua o escopo relevante no manifesto.

Como ver o endereço de e-mail do usuário

No seu código, utilize Session.getEffectiveUser().getEmail() para identificar o usuário efetivo atual. Consulte a referência do getEffectiveUser. Se você adicionar esse código, o escopo da autorização https://www.googleapis.com/auth/userinfo.email será incluído automaticamente no seu conector.

Exemplo: como chamar APIs do Google com o token OAuth do usuário

  • O conector do Google Fit busca dados da API Google Fit para o usuário efetivo. Ao chamar a API, ele transmite o token OAuth desse usuário. Confira o código-fonte para ver detalhes da implementação.
  • O conector do Firestore utiliza o Cloud Resource Manager para conseguir uma lista de projetos do usuário efetivo. Ele também envia o token OAuth desse usuário. Confira o código-fonte para ver detalhes da implementação.

Exemplo: isAdminUser() com base no endereço de e-mail