Risolvere i problemi dell'applicazione incorporata

Questo articolo illustra alcuni problemi comuni che possono verificarsi durante l'incorporamento del contenuto da Power BI.

Strumenti per la risoluzione dei problemi

Fiddler Traccia

Fiddler è uno strumento gratuito di Telerik che monitora il traffico HTTP. È possibile visualizzare il traffico con le API di Power BI dal computer client. Questo strumento potrebbe mostrare 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 front-end

Il tasto F12 avvia la finestra per sviluppatori all'interno del browser. Questo strumento consente di esaminare il traffico di rete e visualizzare altre informazioni preziose.

Screenshot della scheda Rete della finestra di sviluppo 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. Si prega di specificare l'ID richiesta quando si contatta il supporto tecnico di Microsoft.

Registrazione dell'app

Errore di registrazione dell'app

I messaggi di errore nel portale di Azure o nella pagina di registrazione dell'app di Power BI ti informeranno se non disponi di privilegi sufficienti per registrare l'app. Per registrare un'applicazione, è necessario essere un amministratore nel tenant di Microsoft Entra o le registrazioni dell'applicazione devono essere abilitate per gli utenti non amministratori.

Il servizio Power BI non viene visualizzato nel portale di Azure durante la registrazione di una nuova app

Almeno un utente deve essere iscritto a Power BI. Se non viene visualizzato il servizio Power BI elencato nell'elenco delle API, nessun utente è iscritto a Power BI.

Qual è la differenza tra un ID oggetto applicazione e un ID oggetto principale?

Quando registri un'app Microsoft Entra, ci sono due parametri, uno dei quali si chiama ID oggetto . Questa sezione illustra lo scopo di ogni parametro e come ottenerlo.

ID oggetto applicazione

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

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

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

ID oggetto principal

L'ID oggetto principale, noto anche semplicemente come ID oggetto , è l'ID univoco dell'oggetto principale di servizio associato alla tua applicazione Microsoft Entra.

Per ottenere l'ID oggetto principale, passare all'app Microsoft Entra e nella Panoramicaselezionare il collegamento all'app in '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 dell'oggetto .

Screenshot della finestra del portale di Azure, che mostra l'ID oggetto principale nella sezione proprietà nel 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 di criteri di Microsoft Entra che ha come ambito l'organizzazione o un'entità servizio .

È consigliabile abilitare questo criterio solo per ogni app.

Per creare questo criterio, è necessario essere un amministratore globale per la directory in cui si stanno creando i criteri e assegnarli. Ecco un esempio di script per creare il criterio e assegnarlo allo SP per questa applicazione.

  1. Installare Microsoft Graph PowerShell SDK.

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

    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 il criterio, attendere circa 15-20 secondi per la propagazione prima del test.

Si verifica un errore nella generazione del token quando si fornisce l'identità effettiva

GenerateToken può non riuscire con un'identità effettiva fornita per diversi motivi:

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

Per determinare il problema, provare i passaggi seguenti:

  • Esegui e ottieni il dataset. La proprietà IsEffectiveIdentityRequired è vera?
  • Il nome utente è obbligatorio per qualsiasi EffectiveIdentity.
  • Se IsEffectiveIdentityRolesRequired è vero, il Ruolo è richiesto.
  • DatasetId è necessario per qualsiasi EffectiveIdentity.
  • Per Analysis Services, l'utente master deve essere un amministratore del gateway.

AADSTS90094: la concessione richiede l'autorizzazione di amministratore

sintomi :

Quando un utente non amministratore tenta di accedere a un'applicazione per la prima volta concedendo il consenso, ottiene 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 il consenso 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, navigare 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 autorizzazioni all'applicazione, sia per l'intero tenant che per 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 ospite)

Quando si incorporare 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 guest di Microsoft Entra.

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

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

Per ulteriori informazioni, vedere Come rendere l'applicazione multiutenza.

Origini dati

ISV vuole avere credenziali diverse per la stessa origine dati

Un'origine dati può avere un singolo set di credenziali per un utente master. Se è necessario usare credenziali diverse, creare più utenti master. Assegnare quindi le diverse credenziali a ognuno dei contesti degli utenti master e incorporare usando il token Microsoft Entra di tale utente.

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

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

Dopo aver acquisito l'oggetto IError, è necessario esaminare la tabella degli errori comuni appropriata che si adatta al tipo di incorporamento in uso. Confrontare le proprietà IError con quelle nella tabella e trovare i possibili motivi per l'errore.

Errori tipici durante l'incorporamento per gli utenti di Power BI

Messaggio Messaggio dettagliato Codice errore Possibili motivi
Token Scaduto Il token di accesso è scaduto, invia di nuovo con un nuovo token di accesso 403 Token scaduto
PowerBIEntitàNonTrovata Recupero report non riuscito 404
  • Identificativo del Rapporto errato
  • Il report non esiste
  • Parametri non validi Parametro powerbiToken non specificato N/D
  • Nessun token di accesso specificato
  • Nessun ID del rapporto specificato
  • 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 report non riuscito 401
  • ID di gruppo errato
  • Gruppo non autorizzato
  • Token Scaduto Il token di accesso è scaduto, invia di nuovo con un nuovo token di accesso. Impossibile eseguire il rendering di una visualizzazione del report intitolata: titolo della visualizzazione N/D
  • Eseguire query sui dati
  • Token scaduto
  • OpenConnectionError Non è possibile visualizzare l'immagine. Impossibile eseguire il rendering di un oggetto visivo del report denominato: titolo dell'oggetto visivo Non applicabile Capacità sospesa o eliminata durante l'apertura di un report relativo alla capacità in una sessione
    DettagliPredefiniti_EsplorazioneContenitore_CaricamentoModelloFallito Impossibile caricare lo schema del modello associato a questo report. Assicurarsi di avere una connessione al server e riprovare. N/D
  • Capacità sospesa
  • Capacità eliminata
  • Errori tipici durante l'incorporamento per utenti non Power BI (usando un token di incorporamento)

    Messaggio Messaggio dettagliato Codice errore Possibili motivi
    TokenExpired Il token di accesso è scaduto, invia di nuovo con un nuovo token di accesso 403 Token scaduto
    CaricamentoRapportoFallito Ottenere il report non riuscito 404
  • ID report errato
  • Il report non esiste
  • LoadReportFailed Recupero report non riuscito 403 L'ID del report non corrisponde al token
    LoadReportFailed Impossibile ottenere il report 500 L'ID fornito dal report non è un GUID
    Parametri non validi Parametro powerbiToken non specificato N/D
  • Nessun token di accesso specificato
  • Nessun ID del rapporto fornito
  • LoadReportFailed Impossibile inizializzare - Non è stato possibile risolvere il cluster 403 Tipo di token errato o token non valido
    PowerBINotAuthorizedException Recupero report non riuscito 401 ID del gruppo non valido/non autorizzato
    TokenExpired Il token di accesso è scaduto, invia di nuovo con un nuovo token di accesso. Impossibile eseguire il rendering di un elemento visivo del report intitolato: titolo dell'elemento 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à sospesa o eliminata durante l'apertura di un report relativo alla capacità in una sessione
    ExplorationContainer_FailedToLoadModel_DefaultDetails Impossibile caricare lo schema del modello associato a questo report. Assicurarsi di avere una connessione al server e riprovare. N/D
  • Capacità sospesa
  • Capacità eliminata
  • Get report non riesce - Errore 401 - Risolvere se stessi

    Nello scenario di utente proprietario dei dati, a volte gli utenti riceveranno un errore 401 che si risolve dopo l'accesso 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:

    Visualizzazione 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 problemi con l'applicazione, verificare che l'elemento di Power BI possa essere visualizzato nel playground di analisi incorporata di Power BI .

    Verifica che il token di accesso non sia scaduto

    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.

    Prestazione

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

    Domande frequenti su Power BI Embedded

    Altre domande? Chiedi alla community di Power BI