Solucionar problemas do aplicativo inserido

Este artigo discute alguns problemas comuns que podem surgir ao inserir conteúdo do Power BI.

Ferramentas de solução de problemas

Rastreamento do Fiddler

Fiddler é uma ferramenta gratuita da Telerik que monitora o tráfego HTTP. Você pode ver o tráfego com as APIs do Power BI no computador cliente. Essa ferramenta pode mostrar erros e outras informações relacionadas.

Captura de tela da janela de saída da ferramenta Fiddler, que mostra o tráfego HTTP da API do Power BI.

F12 no navegador para depuração de front-end

A chave F12 inicia a janela do desenvolvedor em seu navegador. Essa ferramenta permite que você examine o tráfego de rede e veja outras informações valiosas.

Captura de tela da guia Rede da janela do desenvolvedor do navegador da Web, que mostra o tráfego de rede.

Extrair detalhes de erro da resposta do Power BI

Este snippet de código mostra como extrair os detalhes do erro de uma exceção HTTP:

public static string GetExceptionText(this HttpOperationException exc)
{
    var errorText = string.Format("Request: {0}\r\nStatus: {1} ({2})\r\nResponse: {3}",
    exc.Request.Content, exc.Response.StatusCode, (int)exc.Response.StatusCode, exc.Response.Content);
    if (exc.Response.Headers.ContainsKey("RequestId"))
    {
        var requestId = exc.Response.Headers["RequestId"].FirstOrDefault();
        errorText += string.Format("\r\nRequestId: {0}", requestId);
    }

    return errorText;
}

Recomendamos registrar em log a ID da Solicitação (e os detalhes do erro para solução de problemas). Forneça a ID da Solicitação ao se aproximar do suporte da Microsoft.

Registro de aplicativo

Falha no registro do aplicativo

Mensagens de erro no portal do Azure ou na página de registro de aplicativo do Power BI notificarão você se você não tiver privilégios suficientes para registrar seu aplicativo. Para registrar um aplicativo, você deve ser um administrador no locatário do Microsoft Entra ou os registros de aplicativo devem ser habilitados para usuários não administradores.

O serviço do Power BI não aparece no portal do Azure ao registrar um novo aplicativo

Pelo menos um usuário deve estar inscrito no Power BI. Se o serviço do Power BI não for exibido na lista de APIs, será uma indicação de que nenhum usuário está inscrito no Power BI.

Qual é a diferença entre uma ID de objeto de aplicativo e uma ID de objeto principal?

Quando você registra um app do Microsoft Entra, há dois parâmetros chamados ID de objeto. Esta seção explica a finalidade de cada parâmetro e como obtê-lo.

ID do objeto de aplicativo

A ID de objeto de aplicativo, também conhecida simplesmente como ID do objeto, é a ID exclusiva do seu objeto de aplicativo do Microsoft Entra.

Para obter a ID de objeto do aplicativo, navegue até seu aplicativo do Microsoft Entra e copie-a da Visão geral.

Captura de tela da janela do portal do Azure, que mostra a ID do objeto na folha Visão geral de um aplicativo do Microsoft Entra.

ID do objeto Principal

A ID de objeto de entidade de serviço, também conhecida simplesmente como a ID de objeto, é a ID exclusiva do objeto de entidade de serviço associada ao seu aplicativo do Microsoft Entra.

Para obter a ID de objeto da entidade de serviço, acesse o app do Microsoft Entra e, na Visão geral, selecione o link do app em App gerenciado no diretório local.

Captura de tela da janela do portal do Azure, que mostra a opção Aplicativo Gerenciado no diretório local na folha Visão geral de um aplicativo do Microsoft Entra.

Na seção Propriedades, copie a ID de objeto.

Captura de tela da janela do portal do Azure, que mostra a ID do objeto principal na seção de propriedades na folha Visão geral de um aplicativo do Microsoft Entra.

Autenticação

Falha na autenticação com AADSTS70002 ou AADSTS50053

(AADSTS70002: erro ao validar credenciais. AADSTS50053: você tentou entrar muitas vezes com uma ID de Usuário ou senha incorreta)

Se você estiver usando o Power BI Embedded e a autenticação direta do Microsoft Entra, poderá receber uma mensagem como a mensagem anterior ao tentar entrar, pois a autenticação direta não está habilitada.

Você pode reativar a autenticação direta usando uma política do Microsoft Entra com o escopo da organização ou uma entidade de serviço.

Recomendamos que você habilite essa política apenas por aplicativo.

Para criar essa política, você precisará ser um Administrador Global do diretório em que a política atribuída será criada. Aqui está um script de exemplo para criar a política e atribuí-la ao SP para este aplicativo:

  1. Instale o SDK do Microsoft Graph PowerShell .

  2. Execute os seguintes comandos do PowerShell linha a linha (certificando-se de que a variável $sp não tenha mais de um aplicativo como resultado).

    Connect-MgGraph -Scopes "Directory.Read.All","Policy.ReadWrite.ApplicationConfiguration"
    
    $sp = Get-MgServicePrincipal -Filter "DisplayName eq 'Name_Of_Application'"
    
    $policy = New-MgBetaPolicyActivityBasedTimeoutPolicy -Definition @("{`"AllowCloudPasswordValidation`":true}") `
       -DisplayName EnableDirectAuth -IsOrganizationDefault:$false
    
    $params = @{
       "@odata.id" = "https://graph.microsoft.com/v1.0/policies/claimsMappingPolicies/$policy.Id"
    }
    New-MgBetaServicePrincipalClaimMappingPolicyByRef -ServicePrincipalId $sp.Id `
       -BodyParameter $params
    

Depois de atribuir a política, aguarde aproximadamente 15 a 20 segundos para propagação antes do teste.

Falha na geração do token ao fornecer a identidade em vigor

Por motivos diferentes, pode haver falha em GenerateToken com a identidade em vigor fornecida:

  • O modelo semântico não dá suporte à identidade efetiva.
  • O nome de usuário não foi fornecido.
  • A função não foi fornecida.
  • DatasetId não foi fornecido.
  • O usuário não tem as permissões corretas.

Para determinar o problema, tente as seguintes etapas:

  • Execute para obter o conjunto de dados. A propriedade IsEffectiveIdentityRequired é verdadeira?
  • O nome de usuário é necessário para qualquer EffectiveIdentity.
  • Se IsEffectiveIdentityRolesRequired for verdadeira, a função será necessária.
  • DatasetId é necessário para qualquer EffectiveIdentity.
  • Para o Analysis Services, o usuário mestre precisa ser um administrador de gateway.

AADSTS90094: A concessão requer permissão de administrador

Sintomas :

Quando um usuário não administrador tenta entrar em um aplicativo pela primeira vez durante a concessão de consentimento, obtém um dos seguintes erros:

  •   ConsentTest needs permission to access resources in your organization that only an admin can grant. Ask an admin to grant permission to this app before you can use it.
    
  •   AADSTS90094: The grant requires admin permission.
    

    Captura de tela da caixa de diálogo de login da janela do portal do Azure, que mostra o erro de permissão do teste de consentimento.

Um usuário administrador pode entrar e conceder consentimento com êxito.

Causa raiz:

O consentimento do usuário está desabilitado para o locatário.

várias correções são possíveis:

  • Habilite o consentimento do usuário para todo o locatário (todos os usuários, todos os aplicativos):
  1. No portal do Azure, acesse Microsoft Entra ID>Usuários e grupos>Configurações de usuário.
  2. Habilite a configuração Os usuários podem consentir com o acesso dos apps aos dados da empresa em seus nomes e salve as alterações.

Captura de tela do portal do Azure.

  • Um administrador pode conceder permissões ao aplicativo , seja para o locatário inteiro ou para um usuário específico.

Erro CS1061

Baixe Microsoft.IdentityModel.Clients.ActiveDirectory se você tiver o seguinte erro:

'AuthenticationContext' does not contain a definition for 'AcquireToken' and no accessible 'AcquireToken' accepting a first argument of type 'AuthenticationContext' could be found (are you missing a using directive or an assembly reference?)

Token do Microsoft Entra para um locatário diferente (usuário convidado)

Ao realizar uma inserção na organização, para permitir que os usuários convidados do Microsoft Entra acessem seu conteúdo, especifique a ID do locatário no parâmetro authorityUri.

  • URL para autenticar no tenant da sua organização:

    https://login.microsoftonline.com/common/v2.0

  • URL para autenticar um usuário convidado do Microsoft Entra:

    https://login.microsoftonline.com/<tenant ID>

Para localizar sua ID de locatário, você pode usar as instruções em Localizar a ID do locatário do Microsoft Entra e o nome de domínio primário.

Para saber mais, confira Como tornar seu app multilocatário.

Fontes de dados

O ISV deseja ter credenciais diferentes para a mesma fonte de dados

Uma fonte de dados pode ter um único conjunto de credenciais para um usuário mestre. Se você precisar usar credenciais diferentes, crie mais usuários mestres. Em seguida, atribua as diferentes credenciais a cada contexto dos usuários principais e incorpore usando o token do Microsoft Entra desse usuário.

Solucionar problemas do aplicativo inserido com o objeto IError

Use o objeto IError retornado pelo evento de erro do SDK do JavaScript para depurar o app e entender melhor a causa dos erros.

Depois de adquirir o objeto IError, você deve examinar a tabela de erros comuns adequada para o tipo de incorporação que você está usando. Compare as propriedades IError com as da tabela e encontre os possíveis motivos para a falha.

Erros típicos ao inserir para usuários do Power BI

Mensagem Mensagem detalhada Código de erro Possíveis motivos
TokenExpired Reenvie com um novo token de acesso, pois o token de acesso expirou. 403 Token expirado
PowerBIEntityNotFound Falha ao obter relatório 404
  • ID de relatório incorreta
  • O relatório não existe
  • Parâmetros inválidos Parâmetro powerbiToken não especificado N/A
  • Nenhum token de acesso fornecido
  • Nenhuma identificação de relatório fornecida
  • FalhaAoCarregarRelatório Falha ao inicializar – Não foi possível resolver o cluster 403
  • Token de acesso incorreto
  • O tipo de inserção não corresponde ao tipo de token
  • PowerBINotAuthorizedException Falha ao obter relatório 401
  • ID de grupo incorreta
  • Grupo não autorizado
  • TokenExpired O token de acesso expirou. Faça o reenvio com um novo token de acesso. Não foi possível renderizar um visual de relatório intitulado: título do visual N/A
  • Consultar dados
  • Token expirado
  • OpenConnectionError Não é possível exibir o visual. Não foi possível renderizar um visual de relatório intitulado: título do visual N/A Capacidade pausada ou excluída enquanto um relatório relacionado a ela estava aberto em uma sessão
    ExplorationContainer_FailedToLoadModel_DefaultDetails Não foi possível carregar o esquema de modelo associado a este relatório. Verifique se você tem uma conexão com o servidor e tente novamente. N/A
  • Capacidade pausada
  • Capacidade excluída
  • Erros típicos ao inserir para usuários que não são do Power BI (usando um Token de Inserção)

    Mensagem Mensagem detalhada Código de erro Possíveis motivos
    TokenExpired O token de acesso expirou, submeter novamente com um novo token de acesso 403 Token expirado
    FalhaAoCarregarRelatório Falha ao obter relatório 404
  • ID de relatório incorreta
  • O relatório não existe
  • Falha ao Carregar Relatório Falha ao obter relatório 403 ID do relatório não corresponde ao token
    FalhaAoCarregarRelatório Falha ao obter relatório 500 A ID de relatório fornecida não é um GUID
    Parâmetros inválidos Parâmetro powerbiToken não especificado N/A
  • Nenhum token de acesso fornecido
  • Nenhuma identificação de relatório fornecida
  • FalhaNoCarregamentoDoRelatório Falha ao inicializar – Não foi possível resolver o cluster 403 Tipo de token incorreto ou token inválido
    PowerBINotAuthorizedException Falha ao obter relatório 401 ID de grupo incorreta/não autorizada
    TokenExpired O token de acesso expirou, reenvie com um novo token de acesso. Não foi possível renderizar um visual de relatório intitulado: título do visual N/A
  • Consultar dados
  • Token expirado
  • OpenConnectionError Não é possível exibir o visual. Não foi possível renderizar um visual de relatório intitulado: título do visual N/A Capacidade pausada ou excluída enquanto um relatório relacionado a ela estava aberto em uma sessão
    ExplorationContainer_FailedToLoadModel_DefaultDetails Não foi possível carregar o esquema de modelo associado a este relatório. Verifique se você tem uma conexão com o servidor e tente novamente. N/A
  • Capacidade pausada
  • Capacidade excluída
  • Falha ao obter relatório – Erro 401 – Resolvido por conta própria

    No cenário em que o usuário é proprietário dos dados, ele pode receber um erro 401 que é resolvido por conta própria depois que ele acessa o portal do Power BI. Quando o erro 401 ocorrer, adicione a chamada RefreshUser Permissions ao app, conforme explicado em Atualizar permissões do usuário.

    Modelos semânticos

    Gerenciar qual parte dos dados seus usuários podem ver

    Qualquer usuário com permissões de leitura para um modelo semântico pode ver todo o esquema (tabelas, colunas e medidas) e todos os dados. Você não pode controlar permissões de exibição para dados brutos e agregados separadamente no mesmo modelo semântico.

    Para gerenciar qual parte dos dados seus usuários podem exibir, use um dos seguintes métodos:

    Renderização de conteúdo

    Para resolver problemas de renderização em itens inseridos do Power BI (como relatórios e dashboards), examine esta seção.

    Verifique se o item do Power BI é carregado no serviço do Power BI

    Para descartar problemas com o aplicativo ou as APIs de inserção, verifique se o item pode ser exibido no serviço do Power BI (powerbi.com).

    Verificar se o item do Power BI é carregado no playground da análise integrada do Power BI

    Para eliminar problemas com o app, verifique se o item do Power BI pode ser exibido no playground da análise integrada do Power BI.

    Verifique se o token de acesso não expirou

    Para fins de segurança, os tokens de acesso (um token do Microsoft Entra ou um token de inserção) têm um tempo de vida limitado. Você deve monitorar constantemente o token de acesso e atualizá-lo, se necessário. Para saber mais, confira Atualizar o token de acesso.

    Desempenho

    Para obter o conteúdo inserido com melhor desempenho, recomendamos que você siga as práticas recomendadas de análise integrada do Power BI.

    Perguntas Frequentes do Power BI Embedded

    Mais perguntas? Perguntar à Comunidade do Power BI