Risoluzione dei problemi dell'applicazione incorporata

Questo articolo illustra alcuni problemi comuni che possono verificarsi quando si incorpora il contenuto da Power BI.

Strumenti per la risoluzione dei problemi

Traccia di Fiddler

Fiddler è uno strumento gratuito di Telerik che consente di monitorare il traffico HTTP. È possibile visualizzare il traffico con le API Power BI dal computer client. Questo strumento potrebbe visualizzare errori e altre informazioni correlate.

Screenshot della finestra di output dello strumento Fiddler, che mostra il traffico HTTP dell'API Power BI.

F12 nel browser per il debug del front-end

Il tasto F12 avvia la finestra degli strumenti di sviluppo nel browser. Questo strumento consente di esaminare il traffico di rete e visualizzare altre informazioni preziose.

Screenshot della scheda Rete della finestra per sviluppatori del Web browser, che mostra il traffico di rete.

Estrarre i dettagli dell'errore dalla risposta di Power BI

Questo frammento di codice mostra come estrarre i dettagli dell'errore da un'eccezione 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;
}

È consigliabile registrare l'ID richiesta e i dettagli dell'errore per la risoluzione dei problemi. Specificare l'ID richiesta quando si contatta il supporto tecnico Microsoft.

Registrazione app

Errore di registrazione dell'app

Messaggi di errore nel portale di Azure o nella pagina di registrazione dell'app Power BI che inviano una notifica se non si dispone di privilegi sufficienti per registrare l'app. Per registrare un'applicazione, è necessario essere un amministratore nel tenant di Microsoft Entra oppure è necessario che siano state abilitate le registrazioni delle applicazioni per gli utenti non amministratori.

Il servizio Power BI non viene visualizzato nel portale di Azure quando si registra una nuova app

Almeno un utente deve aver effettuato l'iscrizione a Power BI. Se il Servizio Power BI non è visualizzato nell'elenco delle API, nessun utente ha effettuato l'iscrizione a Power BI.

Qual è la differenza tra un ID oggetto applicativo e un ID oggetto entità di sicurezza?

Quando si registra un'app Microsoft Entra, sono disponibili due parametri denominati ID oggetto. Questa sezione illustra lo scopo di ogni parametro e come ottenerlo.

ID oggetto applicativo

L'ID oggetto applicativo, noto anche semplicemente come ID oggetto, è l'ID univoco dell'oggetto applicativo Microsoft Entra.

Per ottenere l'ID oggetto applicativo, passare all'app Microsoft Entra e copiarla da Panoramica.

Screenshot della finestra del portale di Azure, che mostra l'ID oggetto nel pannello Panoramica di un'applicazione Microsoft Entra.

ID oggetto entità di sicurezza

L'ID oggetto entità di sicurezza, noto anche semplicemente come ID oggetto, è l'ID univoco dell'oggetto entità servizio associato all'applicazione Microsoft Entra.

Per ottenere l'ID oggetto entità di sicurezza, passare all'app Microsoft Entra e nella Panoramicaselezionare il collegamento app nell'applicazione gestita nella directory locale.

Screenshot della finestra del portale di Azure, che mostra l'opzione Applicazione gestita nella directory locale nel pannello Panoramica di un'applicazione Microsoft Entra.

Nella sezione Proprietà copiare l'ID oggetto.

Screenshot della finestra del portale di Azure, che mostra l'ID oggetto entità di sicurezza nella sezione proprietà del pannello Panoramica di un'applicazione Microsoft Entra.

Autenticazione

Autenticazione non riuscita con AADSTS70002 o AADSTS50053

(AADSTS70002: Errore durante la convalida delle credenziali. AADSTS50053: Si è tentato di accedere troppe volte con un ID utente o una password non corretti)

Se si usa Power BI Embedded e l'autenticazione diretta di Microsoft Entra, è possibile che venga visualizzato un messaggio simile al messaggio precedente quando si prova ad accedere, perché l'autenticazione diretta non è abilitata.

È possibile riattivare l'autenticazione diretta usando un criterio di Microsoft Entra che ha come ambito l'organizzazione o un'entità servizio.

È consigliabile abilitare questo criterio solo per singole app.

Per creare questo criterio, è necessario essere un amministratore globale per la directory in cui si crea e si assegna il criterio. Ecco un esempio di script per la creazione del criterio e la sua assegnazione alla stored procedure per questa applicazione:

  1. Installare Microsoft Graph PowerShell SDK.

  2. Eseguire i comandi seguenti di PowerShell riga per riga assicurandosi che la variabile $sp non abbia più di un'applicazione come risultato.

    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
    

Dopo aver assegnato i criteri, attendere circa 15-20 secondi per la propagazione prima di avviare il test.

Si verifica un errore del metodo GenerateToken quando viene specificata l'identità effettiva

Le cause di un errore del metodo GenerateToken quando viene specificata l'identità effettiva possono essere diverse:

  • Il modello semantico non supporta l'identità effettiva.
  • Il nome utente non è stato specificato.
  • Il ruolo non è stato specificato.
  • DatasetId non è stato specificato.
  • L'utente non dispone delle autorizzazioni corrette.

Per determinare il problema, provare i passaggi seguenti:

  • Eseguire Recupera set di dati. La proprietà IsEffectiveIdentityRequired è true?
  • Il nome utente è obbligatorio per qualsiasi EffectiveIdentity.
  • Se IsEffectiveIdentityRolesRequired è true, il ruolo è obbligatorio.
  • DatasetId è obbligatorio per qualsiasi EffectiveIdentity.
  • Per Analysis Services, l'utente master deve essere un amministratore del gateway.

AADSTS90094: La concessione richiede le autorizzazioni di amministratore

Sintomi:

Quando un utente non amministratore tenta di accedere a un'applicazione per la prima volta e di concedere l'autorizzazione, si verifica uno degli errori seguenti:

  •   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.
    

    Screenshot della finestra di accesso del portale di Azure, che mostra l'errore di autorizzazione Consent Test.

Un utente amministratore può accedere e concedere l'autorizzazione correttamente.

Causa radice:

Il consenso dell'utente è disabilitato per il tenant.

Sono possibili diverse correzioni:

  • Abilitare il consenso dell'utente per l'intero tenant (tutti gli utenti, tutte le applicazioni):
  1. Nel portale di Azure passare a Microsoft Entra ID>Utenti e gruppi>Impostazioni utente.
  2. Abilitare l'impostazione Gli utenti possono fornire il consenso alle app che accedono ai dati aziendali per loro conto e salvare le modifiche.

Screenshot del portale di Azure.

  • Un amministratore può concedere le autorizzazioni per l'applicazione, per l'intero tenant o un utente specifico.

Errore CS1061

Scaricare Microsoft.IdentityModel.Clients.ActiveDirectory se si verifica l'errore seguente:

'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 per un tenant diverso (utente guest)

Quando si incorpora per l'organizzazione, per consentire agli utenti guest di Microsoft Entra di accedere al contenuto, è necessario specificare l'ID tenant nel parametro authorityUri.

  • URL per l'autenticazione nel tenant dell'organizzazione:

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

  • URL per l'autenticazione di un utente Microsoft Entra guest:

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

Per trovare l'ID tenant, è possibile usare le istruzioni in Trovare l'ID tenant e il nome di dominio primario di Microsoft Entra.

Per altre informazioni, vedere Creazione del multi-tenant dell'applicazione.

Origini dati

L'ISV vuole avere diverse credenziali per la stessa origine dati

Un'origine dati può avere un solo set di credenziali per un utente master. Se sono necessarie credenziali diverse, creare altri utenti master. Quindi, assegnare le diverse credenziali a ogni contesto degli utenti master e incorporarle usando il token di Microsoft Entra per l'utente corrispondente.

Risolvere i problemi dell'applicazione incorporata con l'oggetto IError

Usare l'oggetto IError restituito dall'evento di errore da JavaScript SDK per eseguire il debug dell'applicazione e capire meglio la causa degli errori.

Dopo aver acquisito l'oggetto IError, vedere la tabella degli errori comuni appropriata corrispondente al tipo di incorporamento in uso. Confrontare le proprietà IError con quelle nella tabella e individuare i possibili motivi dell'errore.

Errori tipici durante l'incorporamento per utenti di Power BI

Message Messaggio dettagliato Codice di errore Cause possibili
TokenExpired Il token di accesso è scaduto, inviare di nuovo con un nuovo token di accesso 403 Token scaduto
PowerBIEntityNotFound Recupero del report non riuscito 404
  • ID del report errato
  • Il report non esiste
  • Parametri non validi parametro powerbiToken non specificato N/D
  • Nessun token di accesso fornito
  • Nessun ID di report fornito
  • LoadReportFailed Impossibile inizializzare: non è stato possibile risolvere il cluster 403
  • Token di accesso non valido
  • Il tipo di incorporamento non corrisponde al tipo di token
  • PowerBINotAuthorizedException Recupero del report non riuscito 401
  • ID del gruppo errato
  • Gruppo non autorizzato
  • TokenExpired Il token di accesso è scaduto, inviare di nuovo con un nuovo token di accesso. Impossibile eseguire il rendering di un oggetto visivo del report denominato: titolo dell'oggetto visivo N/D
  • Eseguire query sui dati
  • Token scaduto
  • OpenConnectionError Non è possibile visualizzare l'oggetto visivo. Impossibile eseguire il rendering di un oggetto visivo del report denominato: titolo dell'oggetto visivo N/D Capacità in pausa o eliminata mentre un report correlato alla capacità era aperto in una sessione
    ExplorationContainer_FailedToLoadModel_DefaultDetails Non è stato possibile caricare lo schema del modello associato a questo report. Assicurarsi di avere una connessione al server e riprovare. N/D
  • Capacità in pausa
  • Capacità eliminata
  • Errori tipici quando si esegue l'incorporamento per utenti esterni a Power BI (usando un token di incorporamento)

    Message Messaggio dettagliato Codice di errore Motivi
    TokenExpired Il token di accesso è scaduto, inviare di nuovo con un nuovo token di accesso 403 Token scaduto
    LoadReportFailed Recupero del report non riuscito 404
  • ID del report errato
  • Il report non esiste
  • LoadReportFailed Recupero del report non riuscito 403 L'ID del report non corrisponde al token
    LoadReportFailed Recupero del report non riuscito 500 L'ID del report specificato non è un GUID
    Parametri non validi parametro powerbiToken non specificato N/D
  • Nessun token di accesso fornito
  • Nessun ID di report fornito
  • LoadReportFailed Impossibile inizializzare: non è stato possibile risolvere il cluster 403 Tipo di token non corretto o token non valido
    PowerBINotAuthorizedException Recupero del report non riuscito 401 ID gruppo errato/non autorizzato
    TokenExpired Il token di accesso è scaduto, inviare di nuovo con un nuovo token di accesso. Impossibile eseguire il rendering di un oggetto visivo del report denominato: titolo dell'oggetto visivo N/D
  • Eseguire query sui dati
  • Token scaduto
  • OpenConnectionError Non è possibile visualizzare l'oggetto visivo. Impossibile eseguire il rendering di un oggetto visivo del report denominato: titolo dell'oggetto visivo N/D Capacità in pausa o eliminata mentre un report correlato alla capacità era aperto in una sessione
    ExplorationContainer_FailedToLoadModel_DefaultDetails Non è stato possibile caricare lo schema del modello associato a questo report. Assicurarsi di avere una connessione al server e riprovare. N/D
  • Capacità in pausa
  • Capacità eliminata
  • Get report non riesce - Errore 401 - Risoluzione automatica

    Nello scenario I dati sono di proprietà dell'utente, a volte gli utenti riceveranno un errore 401 che si risolve automaticamente quando accedono al portale di Power BI. Quando si verifica l'errore 401, aggiungere la chiamata RefreshUser Permissions nell'app come illustrato in Aggiornare le autorizzazioni utente.

    Modelli semantici

    Gestire la parte dei dati che gli utenti possono visualizzare

    Qualsiasi utente con autorizzazioni di lettura per un modello semantico può visualizzare l'intero schema (tabelle, colonne e misure) e tutti i dati. Non è possibile controllare separatamente le autorizzazioni di visualizzazione dei dati non elaborati e aggregati nello stesso modello semantico.

    Per gestire la parte dei dati che gli utenti possono visualizzare, usare uno dei metodi seguenti:

    Rendering del contenuto

    Per risolvere i problemi di rendering negli elementi di Power BI incorporati, ad esempio report e dashboard, vedere questa sezione.

    Verificare che l'elemento di Power BI sia caricato nel servizio Power BI

    Per escludere i problemi relativi all'applicazione o alle API di incorporamento, verificare che l'elemento possa essere visualizzato nel servizio Power BI (powerbi.com).

    Verificare che l'elemento di Power BI sia caricato nel playground di analisi incorporata di Power BI

    Per escludere i problemi con l'applicazione, verificare che l'elemento di Power BI possa essere visualizzato nel playground di analisi incorporata di Power BI.

    Verificare che il token di accesso non scada

    Ai fini della sicurezza, i token di accesso (un token Microsoft Entra o un token di incorporamento) hanno una durata limitata. È consigliabile monitorare costantemente il token di accesso e aggiornarlo, se necessario. Per altre informazioni, vedere Aggiornare il token di accesso.

    Prestazioni

    Per ottenere il contenuto incorporato con prestazioni ottimali, è consigliabile seguire le procedure consigliate per l'analisi incorporata di Power BI.

    Strumento di installazione dell'incorporamento

    È possibile usare lo strumento di installazione dell'incorporamento per scaricare rapidamente un'applicazione di esempio. confrontando quindi l'applicazione e l'esempio.

    Prerequisiti

    Prima di usare lo strumento di installazione dell'incorporamento, verificare di avere tutti i prerequisiti appropriati. Sono necessari un account Power BI Pro e una sottoscrizione di Microsoft Azure.

    Problemi comuni

    Ecco alcuni problemi comuni che possono verificarsi durante il test con lo strumento di installazione dell'incorporamento:

    Uso dell'incorporamento per l'applicazione di esempio per i clienti

    Se si usa l'esperienza Incorporare per i clienti, salvare e decomprimere il file PowerBI-Developer-Samples.zip. Aprire quindi la cartella PowerBI-Developer-Samples-master\App Owns Data ed eseguire il file PowerBIEmbedded_AppOwnsData.sln.

    • Quando si seleziona Concedi autorizzazioni (passaggio Concedi autorizzazioni), viene visualizzato l'errore seguente:
    AADSTS70001: Application with identifier <client ID> wasn't found in the directory <directory ID>
    

    La soluzione sta per chiudere la finestra popup, attendere qualche secondo e riprovare. Può essere necessario ripetere l'azione più volte. Il problema tra il completamento del processo di registrazione dell'applicazione e il momento in cui l'applicazione è disponibile per le API esterne è causato da un intervallo di tempo.

    • Quando si esegue l'app di esempio, viene visualizzato il messaggio di errore seguente:
    Password is empty. Please fill password of Power BI username in web.config.
    

    Questo errore si verifica perché l'unico valore che non viene inserito nell'applicazione di esempio è la password dell'utente. Aprire il file Web.config nella soluzione e compilare il campo pbiPassword con la password dell'utente.

    • Se si riceve l'errore:
    AADSTS50079: The user is required to use multi-factor authentication.
    

    È necessario usare un account Microsoft Entra che non abbia l'autenticazione a più fattori abilitata.

    Uso dell'incorporamento per l'applicazione di esempio per l'organizzazione

    Se si usa l'esperienza Incorporare per l'organizzazione, salvare e decomprimere il file PowerBI-Developer-Samples.zip. Aprire quindi la cartella PowerBI-Developer-Samples-master\User Owns Data\integrate-report-web-app ed eseguire il file pbi-saas-embed-report.sln.

    • Quando si esegue l'app di esempio Incorporare per l'organizzazione, viene visualizzato l'errore seguente:
    AADSTS50011: The reply URL specified in the request doesn't match the reply URLs configured for the application: <client ID>
    

    L'errore si verifica perché l'URL di reindirizzamento specificato per il server Web dell'applicazione è diverso dall'URL dell'esempio. Se si vuole registrare l'applicazione di esempio, usare https://localhost:13526/ come URL di reindirizzamento.

    Se si desidera modificare l'applicazione registrata, aggiornare l'applicazione registrata Microsoft Entra, in modo che l'applicazione possa fornire l'accesso alle API Web.

    Se si vuole modificare il profilo utente o i dati di Power BI, vedere come modificare i dati di Power BI.

    • Se si riceve l'errore:
    AADSTS50079: The user is required to use multi-factor authentication.
    

    È necessario usare un account Microsoft Entra che non abbia l'autenticazione a più fattori abilitata.

    Per altre informazioni, vedere Power BI Embedded FAQ (Domande frequenti su Power BI Embedded).

    Per ulteriore assistenza, contattare il supporto tecnico oppure creare un ticket di supporto dal portale di Azure e specificare i messaggi di errore riscontrati.

    Domande frequenti su Power BI Embedded

    Altre domande? Inviare una domanda alla community di Power BI