Solucione problemas do aplicativo inserido

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

Ferramentas de solução de problemas

Rastreamento do Fiddler

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

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

A tecla F12 inicia a janela do desenvolvedor no 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.

Extraia detalhes do erro na 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;
}

É recomendável registrar em log as IDs de Solicitação (e detalhes do erro para solução de problemas). Forneça a ID de Solicitação ao entrar em contato com o Suporte da Microsoft.

Registro de aplicativo

Falha no registro de aplicativo

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

O serviço do Power BI não é exibido 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 o serviço do Power BI na lista de APIs, será uma indicação de que nenhum usuário está inscrito no Power BI.

Qual é a diferença entre a ID de objeto de aplicativo e a ID de objeto de entidade de serviço?

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

ID de 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 Microsoft Entra.

ID de 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 de entidade de serviço, navegue até o aplicativo do Microsoft Entra e, na Visão geral, selecione o link do aplicativo em Aplicativo 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 Microsoft Entra.

Da 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 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 anterior ao tentar entrar, pois a autenticação direta não está mais habilitada.

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

É recomendável habilitar essa política somente de acordo com o aplicativo.

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

  1. Instalar o SDK do PowerShell do Microsoft Graph.

  2. Execute os comandos do PowerShell a seguir, linha por linha (assegurando-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 de 15 a 20 segundos para a propagação antes de testar.

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 get dataset. A propriedade IsEffectiveIdentityRequired é verdadeira?
  • O nome de usuário é necessário para qualquer EffectiveIdentity.
  • Se IsEffectiveIdentityRolesRequired for verdadeira, Função será necessária.
  • DatasetId é necessário para qualquer EffectiveIdentity.
  • Para o Analysis Services, o usuário mestre deve ser administrador do gateway.

AADSTS90094: a concessão exige permissão de administrador

Sintomas:

quando um usuário não administrador tenta entrar em um aplicativo pela primeira vez ao conceder autorização, uma das seguintes mensagens de erro é exibida:

  •   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 entrada da janela portal do Azure, que mostra o erro de permissão teste de consentimento.

Um usuário administrador pode entrar e dar o 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>Usuários e grupos>Configurações do usuário.
  2. Habilite a configuração Os usuários podem consentir que os aplicativos acessem 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 – para todo o locatário ou 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 Inserir 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 autenticação de 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 de locatário Microsoft Entra e o nome de domínio primário.

Para obter mais informações, confira Como tornar seu aplicativo 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 credenciais diferentes a cada contexto de usuários mestres e insira usando o token do Microsoft Entra do usuário.

Solucione problemas do aplicativo inserido com o objeto IError

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

Depois de adquirir o objeto IError, você deve examinar a tabela de erros comuns apropriada ao tipo de inserção que está usando. Compare as Propriedades de IError às da tabela e encontre os possíveis motivos da falha.

Erros típicos durante a inserção para usuários do Power BI

Mensagem Mensagem Detalhada Código de erro Possíveis motivos
TokenExpired O token de acesso expirou; reenvie com um novo token de acesso 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/D
  • Nenhum token de acesso fornecido
  • Nenhuma ID de Relatório fornecida
  • LoadReportFailed 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. Reenvie com um novo token de acesso. Não foi possível renderizar um visual de relatório intitulado: título do visual N/D
  • Dados de consulta
  • 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/D Capacidade em pausa ou excluída enquanto um relatório relacionado à capacidade 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/D
  • Capacidade em pausa
  • Capacidade excluída
  • Erros típicos durante a inserção para usuários que não são do Power BI (usando um Token de Inserção)

    Mensagem Mensagem Detalhada Código de erro Motivos
    TokenExpired O token de acesso expirou; reenvie com um novo token de acesso 403 Token expirado
    LoadReportFailed Falha ao obter relatório 404
  • ID de Relatório incorreta
  • O relatório não existe
  • LoadReportFailed Falha ao obter relatório 403 A ID do relatório não corresponde ao token
    LoadReportFailed 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/D
  • Nenhum token de acesso fornecido
  • Nenhuma ID de Relatório fornecida
  • LoadReportFailed Falha ao inicializar – não foi possível resolver o cluster 403 Tipo de token errado ou token inválido
    PowerBINotAuthorizedException Falha ao obter relatório 401 ID do 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/D
  • Dados de consulta
  • 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/D Capacidade em pausa ou excluída enquanto um relatório relacionado à capacidade 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/D
  • Capacidade em pausa
  • Capacidade excluída
  • Falhas ao obter relatório – erro 401 – resolvem a si mesmas

    No cenário em que o usuário possui dados, às vezes os usuários receberão um erro 401 que resolve a si mesmo após eles acessarem o portal do Power BI. Quando o erro 401 acontecer, adicione a chamada RefreshUser Permissions ao aplicativo, conforme explicado em Atualizar permissões do usuário.

    Modelos semânticos

    Gerenciar qual parte dos dados os 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 exibição para dados brutos e agregados separadamente no mesmo modelo semântico.

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

    Renderização de conteúdo

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

    Verificar se o item do Power BI carrega no serviço do Power BI

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

    Verificar se o item do Power BI carrega no playground de análise integrada do Power BI

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

    Verificar 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 seu token de acesso e atualizá-lo se necessário. Para saber mais, confira Atualizar o token de acesso.

    Desempenho

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

    Ferramenta de configuração de inserção

    É possível acessar a Ferramenta de configuração de inserção para baixar um aplicativo de exemplo rapidamente. Em seguida, você pode comparar o aplicativo com o exemplo.

    Pré-requisitos

    Verifique se você tem todos os pré-requisitos apropriados antes de usar a ferramenta de configuração de inserção. Você precisará de uma conta do Power BI Pro e de uma assinatura do Microsoft Azure.

    Problemas comuns

    Alguns problemas comuns que você pode encontrar ao testar com a ferramenta de configuração de inserção são:

    Usando o aplicativo de exemplo Inserir para clientes

    Se você estiver trabalhando com a experiência Inserir para clientes, salve e descompacte o arquivo PowerBI-Developer-Samples.zip. Em seguida, abra a pasta PowerBI-Developer-Samples-master\App Owns Data e execute o arquivo PowerBIEmbedded_AppOwnsData.sln.

    • Ao selecionar Conceder permissões (a etapa "Conceder permissões"), você verá o seguinte erro:
    AADSTS70001: Application with identifier <client ID> wasn't found in the directory <directory ID>
    

    A solução é fechar a janela pop-up, aguarde alguns segundos e tente novamente. Talvez seja necessário repetir essa ação algumas vezes. Um intervalo de tempo causa o problema de conclusão do processo de registro de aplicativo quando ele está disponível para APIs externas.

    • A seguinte mensagem de erro será exibida ao executar o aplicativo de exemplo:
    Password is empty. Please fill password of Power BI username in web.config.
    

    Esse erro ocorre porque o único valor que não está sendo inserido no aplicativo de exemplo é a senha do usuário. Abra o arquivo Web.config na solução e preencha o campo pbiPassword com a senha do usuário.

    • Se você obtiver o erro:
    AADSTS50079: The user is required to use multi-factor authentication.
    

    É necessário usar uma conta do Microsoft Entra que não tenha a MFA habilitada.

    Usando a inserção para seu aplicativo de exemplo de organização

    Se você estiver trabalhando com a experiência Inserir para a organização, salve e descompacte o arquivo PowerBI-Developer-Samples.zip. Abra a pasta PowerBI-Developer-Samples-master\User Owns Data\integrate-report-web-app e execute o arquivo pbi-saas-embed-report.sln.

    • Ao executar o aplicativo de exemplo Inserir para a organização, você verá o seguinte erro:
    AADSTS50011: The reply URL specified in the request doesn't match the reply URLs configured for the application: <client ID>
    

    Esse erro ocorre porque a URL de redirecionamento especificada para o aplicativo para servidores Web é diferente da URL do exemplo. Se você quiser registrar o aplicativo de exemplo, use https://localhost:13526/ como a URL de redirecionamento.

    Se quiser editar o aplicativo registrado, atualize o aplicativo registrado no Microsoft Entra para que ele possa fornecer acesso às APIs Web.

    Se quiser editar o perfil do usuário do Power BI ou os dados, aprenda a editar os dados do Power BI.

    • Se você obtiver o erro:
    AADSTS50079: The user is required to use multi-factor authentication.
    

    É necessário usar uma conta do Microsoft Entra que não tenha a MFA habilitada.

    Para saber mais, veja Perguntas frequentes do Power BI Embedded.

    Para obter assistência adicional contate o suporte ou crie um tíquete de suporte por meio do portal do Azure e forneça as mensagens de erro que encontrar.

    Mais perguntas? Perguntar à Comunidade do Power BI