Por exemplo, vamos supor que o desenvolvedor X tenha um aplicativo da Web para os clientes dele. Os clientes fazem login no app usando suas próprias credenciais e podem visualizar dados de vendas para diferentes lojas. Cada cliente tem acesso a uma lista diferente de lojas. O desenvolvedor quer incorporar um painel do Looker Studio no aplicativo para que, quando um cliente fizer login, ele veja apenas os dados de vendas das lojas a que tem acesso. Os clientes não precisarão fazer login na Conta do Google para que esse processo funcione.
A solução proposta precisará que o desenvolvedor crie um conector da comunidade, transmita um token pelo URL incorporado e filtre os dados com base no token.
Requisitos
- Os visualizadores do painel farão login no aplicativo de terceiros.
- O aplicativo precisa transmitir um token exclusivo para o painel do Looker Studio pelo URL incorporado. O token pode ser usado para pesquisar informações de filtro ou criptografar essas informações.
- O conector da comunidade precisa ser capaz de converter o token em valores de filtro.
Limitações
- Se você for cliente do G Suite e o administrador tiver desativado o compartilhamento de arquivos do Drive para "Qualquer pessoa com um link", não será possível compartilhar o relatório com usuários fora da organização.
Solução
Realize todas as etapas a seguir para implementar a solução.
Gerar um token de usuário no aplicativo da Web
Gere um token exclusivo para cada usuário conectado no aplicativo da Web.Esse token será transmitido para o painel incorporado em uma etapa posterior.
Você precisa usar o token para filtrar dados relevantes. As opções incluem:
- Crie um endpoint de API que retorne dados filtrados ou as informações do usuário para um token específico.
- Criptografe as informações do usuário no token para que elas possam ser descriptografadas posteriormente no conector.
Criar um novo conector da comunidade
Para começar, assista o vídeo Como os conectores da comunidade funcionam e conclua o codelab relacionado. Use as Ferramentas de desenvolvimento local para criar conectores, tornando o processo de desenvolvimento mais fácil e rápido.
Gravar o código do conector
getConfig()
precisa retornar pelo menos um item de configuração. Ele será usado para capturar um token dos parâmetros do URL incorporado.function getConfig(request) { var cc = DataStudioApp.createCommunityConnector(); var config = cc.getConfig(); config .newTextInput() .setId('token') .setName('Enter user token'); // TODO: Add additional config values if applicable for your connector config.setDateRangeRequired(false); config.setIsSteppedConfig(false); return config.build(); }
getData()
terá acesso ao token por meio do objetorequest.configParams
. Use o token para buscar dados filtrados ou filtrar dados atuais que foram pesquisados.
Seguindo o exemplo acima, o token seriarequest.configParams.token
. EmgetData()
, o token é transmitido para um endpoint da API REST para receber uma lista de IDs de loja. Esses IDs de loja são então usados para construir a consulta SQL e buscar dados de vendas.var STORE_ID_API = 'https://www.example.com/api/storeid'; var QUERY_STRING_PREFIX = "SELECT StoreName, Sales from stores" function getData(request) { var token = request.configParams.token; var storeIds = getStoreIdList(token); var queryString = constructQueryString(storeIds); var fetchedData = fetchData(queryString); // rest of getData() implementation } function getStoreIdList(token) { var url = STORE_ID_API; var response = UrlFetchApp.fetch(url); var parsedResponse = JSON.parse(response); return parsedResponse.storeIds; } function constructQueryString(storeIds) { var storeIdString = storeIds.join(','); var queryString = QUERY_STRING_PREFIX + ' WHERE storeId in (' + storeIdString + ')'; return queryString; }
Criar o painel
- Entenda como as implementações e versões funcionam para os conectores.
- Crie uma implantação de produção para o conector.
- Use o link da implantação de produção para criar uma fonte de dados e um relatório no Looker Studio.
- Para o parâmetro de configuração
token
, permita que os leitores de relatórios modifiquem os valores dos parâmetros. - Compartilhe o painel com os usuários escolhidos ou "Todos com o link".
- Ative a incorporação do relatório.
Incorporar o painel na sua plataforma
- Entenda como os parâmetros de URL do relatório funcionam.
- Transmita o valor do token gerado dinamicamente usando parâmetros de URL para o
relatório incorporado do Looker Studio.
Seu URL de incorporação vai ficar parecido com este:
`https://lookerstudio.google.com/embed/reporting/REPORT_ID/page/PAGE_ID?config=%7B%22ds0%22%3A%7B%22token%22%3A%22TOKEN_VALUE%22%7D%7D
Recomendações
- Você precisa criar um token de curta duração.
- Verifique se o painel não vaza nenhuma informação com a visualização com um token inválido.