Acessar propriedades de 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, o usuário em vigor pode 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 o token OAuth do usuário efetivo no seu conector, utilize ScriptApp.getOAuthToken(). Consulte a referência do getOAuthToken. Esse token incluirá os escopos de autorização incluídos durante a 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. Ao adicionar esse código, o escopo de 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, ela transmite o token OAuth desse usuário. Confira detalhes da implementação no código-fonte.
  • O conector do Firestore utiliza o Cloud Resource Manager para conseguir uma lista de projetos do usuário efetivo. Esse conector também envia o token OAuth desse usuário. Confira o código-fonte para ver detalhes de implementação.

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