Partilhar via


Solucionar problemas do aplicativo incorporado

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

Ferramentas de resolução de problemas

Fiddler Trace

Fiddler é uma ferramenta gratuita da Telerik que monitora o tráfego HTTP. Você pode ver o tráfego com as APIs do Power BI da máquina cliente. Esta 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 frontend

A tecla F12 inicia a janela do desenvolvedor no seu navegador. Esta ferramenta permite que você olhe para o tráfego de rede e ver 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 trecho 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 a ID da solicitação (e os detalhes do erro para solução de problemas). Forneça a ID da solicitação ao entrar em contato com o suporte da Microsoft.

Registo na aplicação

Falha no registo da aplicação

As mensagens de erro no portal do Azure ou na página de registro do aplicativo 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 você não vir serviço do Power BI listado na lista de APIs, nenhum usuário está inscrito no Power BI.

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

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

ID do objeto do aplicativo

O identificador (ID) do objeto de aplicação , também conhecido simplesmente como identificador do objeto , é o identificador exclusivo do seu objeto de aplicação Microsoft Entra.

Para obter o ID do objeto do aplicativo, navegue até o aplicativo Microsoft Entra e copie-o do 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 Microsoft Entra.

ID do objeto principal

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

Para obter a ID do objeto principal, navegue até à aplicação Microsoft Entra e, na Descrição Geral, selecione o link da aplicação em Aplicação gerida 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 Microsoft Entra.

Na seção Propriedades, copie o ID do 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 Microsoft Entra.

Autenticação

Falha na autenticação com AADSTS70002 ou AADSTS50053

(AADSTS70002: Erro ao validar credenciais. AADSTS50053: Tentou iniciar sessão demasiadas vezes com um ID de utilizador ou palavra-passe incorretos)

Se estiver a utilizar a autenticação direta do Power BI Embedded e do Microsoft Entra, poderá receber uma mensagem como a mensagem anterior quando tentar iniciar sessão, porque a autenticação direta não está ativada.

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

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

Para criar esta política, você precisa ser um Administrador Global no diretório onde está criando a política e atribuindo-a. Aqui está um script de exemplo para criar a política e atribuí-la ao SP para esta aplicação:

  1. Instale o Microsoft Graph PowerShell SDK.

  2. Execute os seguintes comandos do PowerShell linha por 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 a propagação antes de testar.

Falha na geração de token ao fornecer identidade efetiva

GenerateToken pode falhar com a identidade efetiva fornecida por alguns motivos diferentes:

  • O modelo semântico não suporta identidade efetiva.
  • O nome de usuário não foi fornecido.
  • O papel não foi fornecido.
  • DatasetId não foi fornecido.
  • O usuário não tem as permissões corretas.

Para determinar o problema, tente as seguintes etapas:

  • Execute e obtenha o conjunto de dados. A propriedade IsEffectiveIdentityRequired é verdadeira?
  • O nome de usuário é necessário para qualquer EffectiveIdentity.
  • Se IsEffectiveIdentityRolesRequired for verdadeiro, a função é necessária.
  • DatasetId é necessário para qualquer EffectiveIdentity.
  • Para o Analysis Services, o usuário mestre deve 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 ao conceder consentimento, recebe 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 ecrã da janela da caixa de diálogo de início de sessão do portal do Azure, que mostra o erro de permissão 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, navegue até Microsoft Entra ID>Utilizadores e grupos>Configurações de utilizador.
  2. Habilite o Os usuários podem consentir que os aplicativos acessem os dados da empresa em seu nome configuração e salvem as alterações.

Captura de ecrã do portal do Azure.

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

Erro CS1061

Baixe Microsoft.IdentityModel.Clients.ActiveDirectory se você enfrentar 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 Microsoft Entra para um inquilino diferente (utilizador convidado)

Quando você incorporar para sua organização, para permitir que os usuários convidados do Microsoft Entra acessem seu conteúdo, você precisa especificar a ID do locatário no parâmetro authorityUri.

  • URL para autenticação no locatário 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 encontrar a sua ID de inquilino, pode utilizar as instruções em Localizar o ID de inquilino do Microsoft Entra e o nome de domínio principal.

Para obter mais informações, consulte Tornando seu aplicativo multilocatário.

Fontes de dados

O ISV quer 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 diferentes credenciais a cada um dos contextos dos utilizadores principais e incorpore usando o token Microsoft Entra desse utilizador.

Solucionar problemas do aplicativo incorporado com o objeto IError

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

Depois de adquirir o objeto IError, deve examinar a tabela de erros comuns apropriada, adequada ao tipo de incorporação que está a usar. Compare as propriedades IError com as da tabela e encontre o(s) possível(s) motivo(s) para a falha.

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

Mensagem Mensagem detalhada Código de erro Motivo(s) possível(s)
Token Expirado O token de acesso expirou, reenvie com um novo token de acesso 403 Token expirado
PowerBIEntityNotFound Obter relatório falhou 404
  • ID de relatório errado
  • O relatório não existe
  • Parâmetros inválidos parâmetro powerbiToken não especificado N/A
  • Nenhum token de acesso fornecido
  • Nenhum ID de relatório fornecido
  • FalhaAoCarregarRelatório Falha ao inicializar - Não foi possível resolver o cluster 403
  • Token de acesso incorreto
  • O tipo de incorporação não corresponde ao tipo de token
  • PowerBINotAuthorizedException Obter relatório falhou 401
  • ID de grupo incorreto
  • Grupo não autorizado
  • Token Expirado O token de acesso expirou, reenvie com um novo token de acesso. Não foi possível renderizar um relatório visual intitulado: título visual N/A
  • Consultar dados
  • Token expirado
  • OpenConnectionError Não é possível exibir o visual. Não foi possível renderizar um relatório visual intitulado: título visual N/A Capacidade pausada ou excluída enquanto um relatório relacionado à capacidade estava aberto em uma sessão
    ContêinerExploração_FalhaAoCarregarModelo_DetalhesPadrão Não foi possível carregar o esquema de modelo associado a este relatório. Certifique-se de que tem uma ligação ao servidor e tente novamente. N/A
  • Capacidade pausada
  • Capacidade suprimida
  • Erros típicos ao incorporar para usuários que não são do Power BI (usando um Token de Incorporação)

    Mensagem Mensagem detalhada Código de erro Motivo(s) possível(s)
    TokenExpired O token de acesso expirou, reenvie com um novo token de acesso 403 Token expirado
    FalhaAoCarregarRelatório Não foi possível obter o relatório. 404
  • ID de relatório errado
  • O relatório não existe
  • Falha no Carregamento do Relatório Obter relatório falhou 403 O ID do Relatório não corresponde ao token
    FalhaAoCarregarRelatório Obter relatório falhou 500 O ID fornecido pelo relatório não é um GUID
    Parâmetros inválidos parâmetro powerbiToken não especificado N/A
  • Nenhum token de acesso fornecido
  • Nenhum ID de relatório fornecido
  • FalhaAoCarregarRelatório Falha ao inicializar - Não foi possível resolver o cluster 403 Tipo de token errado ou token incorreto
    PowerBINotAuthorizedException (Exceção de Não Autorizado PowerBI) Obter relatório falhou 401 ID de grupo errado/não autorizado
    Token Expirado O token de acesso expirou, reenvie com um novo token de acesso. Não foi possível renderizar um relatório visual intitulado: título visual N/A
  • Consultar dados
  • Token expirado
  • OpenConnectionError Não é possível exibir o visual. Não foi possível renderizar um relatório visual intitulado: título visual N/A Capacidade pausada ou eliminada enquanto um relatório relacionado com a capacidade estava aberto numa sessão
    ExplorationContainer_FailedToLoadModel_DefaultDetails Não foi possível carregar o esquema de modelo associado a este relatório. Certifique-se de que tem uma ligação ao servidor e tente novamente. N/A
  • Capacidade pausada
  • Capacidade suprimida
  • Obter relatório falha - erro 401 - resolva-se a si mesmo

    No cenário em que o utilizador possui os dados, às vezes, os utilizadores recebem um erro 401 que se resolve por si só depois de acederem ao portal do Power BI. Quando o erro 401 acontecer, adicione a chamada RefreshUser Permissions no aplicativo, conforme explicado em Atualizar permissões de usuário.

    Modelos semânticos

    Gerencie 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. Não é possível controlar as permissões de visualização para dados brutos e agregados separadamente no mesmo modelo semântico.

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

    Renderização de conteúdo

    Para resolver problemas de renderização em itens incorporados do Power BI (como relatórios e painéis), revise esta seção.

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

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

    Verifique se o item do Power BI se carrega no ambiente de análise incorporada do Power BI

    Para eliminar problemas com a sua aplicação, verifique se o ítem do Power BI pode ser visualizado na área de testes da análise incorporada do Power BI .

    Verifique se o token de acesso não expirou

    Por motivos de segurança, os tokens de acesso (um token do Microsoft Entra ou um token de incorporação) têm um tempo de vida limitado. Você deve monitorar constantemente seu token de acesso e atualizá-lo, se necessário. Para obter mais informações, consulte Atualizar o token de acesso.

    Desempenho

    Para obter conteúdo de melhor desempenho, recomendamos que siga as melhores práticas de análise embebida do Power BI.

    Perguntas frequentes sobre o Power BI Embedded

    Mais perguntas? Pergunte à Comunidade do Power BI