Risoluzione dei 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
Traccia di Fiddler
Fiddler è uno strumento gratuito di Telerik che consente di monitorare il traffico HTTP. È possibile visualizzare il traffico con i API Power BI dal computer client. Questo strumento potrebbe mostrare errori e altre informazioni correlate.
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.
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 avvicina il supporto Tecnico Microsoft.
Registrazione app
Errore di registrazione dell'app
I messaggi di errore all'interno della portale di Azure o della pagina di registrazione dell'app Power BI invieranno 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 o le registrazioni dell'applicazione devono essere abilitate per gli utenti non amministratori.
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 servizio Power BI elencato nell'elenco delle API, non viene effettuato l'iscrizione a Power BI.
Qual è la differenza tra un ID oggetto applicazione e un ID oggetto principale?
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 applicazione
L'ID oggetto applicazione, noto anche come ID oggetto, è l'ID univoco dell'oggetto applicazione Microsoft Entra.
Per ottenere l'ID oggetto applicazione, passare all'app Microsoft Entra e copiarla da Panoramica.
ID oggetto principal
L'ID oggetto principale, noto anche come ID oggetto, è l'ID univoco dell'oggetto entità servizio associato all'applicazione Microsoft Entra.
Per ottenere l'ID oggetto principale, passare all'app Microsoft Entra e nella Panoramica selezionare il collegamento app nell'applicazione gestita nella directory locale.
Nella sezione Proprietà copiare l'ID oggetto.
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 ogni app.
Per creare questo criterio, è necessario essere un Amministrazione istrator globale per la directory in cui si stanno creando i criteri e assegnandoli. Di seguito è riportato uno script di esempio per la creazione dei criteri e l'assegnazione al provider di servizi per questa applicazione:
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.
La generazione del token ha esito negativo quando si fornisce un'identità efficace
GenerateToken
può non riuscire con un'identità efficace 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:
- Eseguire il set di dati get. La proprietà
IsEffectiveIdentityRequired
è vera? - Il nome utente è obbligatorio per qualsiasi
EffectiveIdentity
oggetto . - Se
IsEffectiveIdentityRolesRequired
è true, role è obbligatorio. DatasetId
è obbligatorio per qualsiasiEffectiveIdentity
oggetto .- 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 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.
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):
- Nella portale di Azure passare a Utenti e gruppi>Impostazioni utente di Microsoft Entra ID.>
- Abilitare l'impostazione Users can consent to apps accessing company data on their behalf (Gli utenti possono fornire il consenso alle app che accedono ai dati aziendali per conto dell'utente) e salvare le modifiche.
- 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 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 authorityUri
parametro .
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 di Microsoft Entra e il nome di dominio primario.
Per altre informazioni, vedere Creazione del multi-tenant dell'applicazione.
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 di 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 individuare i possibili motivi per l'errore.
Errori tipici durante l'incorporamento per gli utenti di Power BI
Message | Messaggio dettagliato | Codice di errore | Possibili motivi |
---|---|---|---|
TokenExpired | Il token di accesso è scaduto, invia di nuovo con un nuovo token di accesso | 403 | Token scaduto |
PowerBIEntityNotFound | Recupero report non riuscito | 404 | |
Parametri non validi | Parametro powerbiToken non specificato | N/D | |
LoadReportFailed | Impossibile inizializzare - Non è stato possibile risolvere il cluster | 403 | |
PowerBINotAuthorizedException | Recupero report non riuscito | 401 | |
TokenExpired | Il token di accesso è scaduto, invia di nuovo con un nuovo token di accesso. Impossibile eseguire il rendering di un oggetto visivo del report denominato titolo: titolo dell'oggetto visivo | N/D | |
Open Connessione ionError | Non è possibile visualizzare l'oggetto visivo. Impossibile eseguire il rendering di un oggetto visivo del report denominato titolo: 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 |
Errori tipici durante l'incorporamento per utenti non Power BI (usando un token di incorporamento)
Message | Messaggio dettagliato | Codice di errore | Motivi |
---|---|---|---|
TokenExpired | Il token di accesso è scaduto, invia di nuovo con un nuovo token di accesso | 403 | Token scaduto |
LoadReportFailed | Recupero report non riuscito | 404 | |
LoadReportFailed | Recupero report non riuscito | 403 | L'ID del report non corrisponde al token |
LoadReportFailed | Recupero report non riuscito | 500 | L'ID fornito dal report non è un GUID |
Parametri non validi | Parametro powerbiToken non specificato | N/D | |
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 gruppo errato/non autorizzato |
TokenExpired | Il token di accesso è scaduto, invia di nuovo con un nuovo token di accesso. Impossibile eseguire il rendering di un oggetto visivo del report denominato titolo: titolo dell'oggetto visivo | N/D | |
Open Connessione ionError | Non è possibile visualizzare l'oggetto visivo. Impossibile eseguire il rendering di un oggetto visivo del report denominato titolo: 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 |
Get report non riesce - Errore 401 - Risolvere se stessi
Nello scenario dei dati di proprietà dell'utente, 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:
Filtro a livello di riga tramite la sicurezza a livello di riga (RLS) di Power BI.
Separare i dati in modelli semantici diversi. Ad esempio, è possibile creare un modello semantico che contiene solo dati aggregati e concedere agli utenti l'accesso solo a tale modello semantico.
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 in servizio Power BI
Per escludere i problemi relativi all'applicazione o alle API di incorporamento, verificare che l'elemento possa essere visualizzato nella 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 configurazione incorporamento
È possibile usare lo strumento di installazione incorporamento per scaricare rapidamente un'applicazione di esempio. È quindi possibile confrontare l'applicazione con l'esempio.
Prerequisiti
Verificare di avere tutti i prerequisiti appropriati prima di usare lo strumento di installazione incorporamento. Sono necessari un account Power BI Pro e una sottoscrizione di Microsoft Azure .
- Se non si è iscritti a Power BI Pro, iscriversi per ottenere una versione di valutazione gratuita prima di iniziare.
- Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
- È necessario avere la propria configurazione del tenant di Microsoft Entra.
- Visual Studio è installato (versione 2013 o successiva).
Problemi comuni
Alcuni problemi comuni che possono verificarsi durante i test con lo strumento di configurazione incorporamento sono:
Uso dell'applicazione di esempio Incorpora per i clienti
Se si usa l'esperienza Incorpora 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 consiste nel chiudere il popup, attendere alcuni secondi e riprovare. Potrebbe essere necessario ripetere questa azione alcune volte. Un intervallo di tempo causa il problema dal completamento del processo di registrazione dell'applicazione a quando è disponibile per le API esterne.
- 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 utente. Aprire il file Web.config nella soluzione e compilare il pbiPassword
campo 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 dispone dell'autenticazione a più fattori abilitata.
Uso dell'incorporamento per l'applicazione di esempio per l'organizzazione
Se si usa l'esperienza Incorpora 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 Incorpora 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>
Questo errore è dovuto al fatto che l'URL di reindirizzamento specificato per l'applicazione server Web è 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.
Per modificare il profilo utente o i dati di Power BI, informazioni su 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 dispone dell'autenticazione a più fattori abilitata.
Per altre informazioni, vedere Domande frequenti su Power BI Embedded.
Per ulteriore assistenza, contattare il supporto tecnico o creare un ticket di supporto tramite il portale di Azure e fornire i messaggi di errore riscontrati.
Contenuto correlato
Altre domande? Chiedere al Community di Power BI
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per