1
resposta

Atualizar Bearer Token no Power BI

Bom dia pessoal, estou com um problema em consultas no power bi...

Primeiro eu criei uma consulta em branco apenas para realizar a requisição do token de uma API (deu certo). Está retornado o valor da chave.

Em uma outra consulta, fiz a requisição de um relatório pela API, passando parâmetros de autenticação através do Authorization pelo Header. No valor do "Authorization" estou inserindo "Bearer" & token, buscando a chave encontrada na outra consulta. Porém, toda vez que eu atualizo este relatório ele executa a consulta novamente de requisição do token e acaba por não utilizar a mesma já gerada. O que posso fazer?

1 resposta

Oi, Vitor, tudo bem?

Desculpe a demora em te responder!

O Power BI, por padrão, não mantém o estado entre as consultas, por isso, cada vez que você atualiza o relatório, ele executa a consulta do token novamente. Uma possível solução seria criar uma tabela de parâmetros onde você poderia armazenar o token de autorização. A cada atualização, você poderia verificar se o token na tabela de parâmetros é válido. Se não for, você poderia então executar a consulta para obter um novo token e atualizar a tabela de parâmetros.

Aqui está um exemplo de como você poderia fazer isso:

  • Crie uma Tabela de Parâmetros (vamos chamá-la de "TabelaToken") com uma única coluna chamada "Token".
  • Na sua consulta que busca o token, adicione uma etapa no final que atualiza a "TabelaToken" com o novo token. Você pode fazer isso usando a função Table.ReplaceValue. Você pode consultar mais informações sobre a função apresentada por meio da documentação que se encontra neste link.
  • Na sua consulta que busca o relatório, primeiro verifique se o token na "TabelaToken" é válido. Se não for, execute a consulta para obter um novo token e atualize a "TabelaToken".
  • Use o token na "TabelaToken" para autenticar sua consulta ao relatório.

Todavia, vale ressaltar que como não tenho acesso ao cenário completo do projeto outros testes terão de ser feitos a fim de obter o resultado esperado, mas espero que esta resposta seja um bom ponto de partida para a resolução do seu problema.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!