Feilsøke det innebygde programmet
Denne artikkelen tar for seg noen vanlige problemer som kan oppstå når du bygger inn innhold fra Power BI.
Feilsøkingsverktøy
Fiddler Trace
Fiddler er et gratis verktøy fra Telerik som overvåker HTTP-trafikk. Du kan se trafikken med Power BI API-er fra klientmaskinen. Dette verktøyet kan vise feil og annen relatert informasjon.
F12 i nettleseren for feilsøking av frontend
F12-nøkkelen starter utviklervinduet i nettleseren. Dette verktøyet lar deg se på nettverkstrafikk og se annen verdifull informasjon.
Trekke ut feildetaljer fra Power BI-svar
Denne kodesnutten viser hvordan du trekker ut feildetaljene fra et HTTP-unntak:
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;
}
Vi anbefaler at du logger forespørsels-ID-en (og feildetaljer for feilsøking). Oppgi forespørsels-ID-en når du nærmer deg Microsoft-støtte.
Appregistrering
Appregistreringsfeil
Feilmeldinger i Azure-portalen eller registreringssiden for Power BI-appen varsler deg hvis du ikke har tilstrekkelige rettigheter til å registrere appen. Hvis du vil registrere et program, må du være administrator i Microsoft Entra-leieren, eller programregistreringer må være aktivert for brukere som ikke er administratorer.
Power BI-tjenesten vises ikke i Azure-portalen når du registrerer en ny app
Minst én bruker må være registrert for Power BI. Hvis du ikke ser Power BI-tjenesten oppført i API-listen, er ingen bruker registrert for Power BI.
Hva er forskjellen mellom en programobjekt-ID og en hovedobjekt-ID?
Når du registrerer en Microsoft Entra-app, er det to parametere som kalles objekt-ID. Denne delen forklarer formålet med hver parameter, og hvordan du får tak i den.
Programobjekt-ID
Det programobjektet ID, også kjent som objekt-ID-en, er den unike ID-en til Microsoft Entra-programobjektet.
Hvis du vil ha programobjekt-ID-en, går du til Microsoft Entra-appen og kopierer den fra Oversikt.
ID for hovedobjekt
Hovedobjekt-ID-en, også kjent som objekt-ID-en, er den unike ID-en til tjenestekontohaverobjektet knyttet til Microsoft Entra-programmet.
Hvis du vil ha hovedobjekt-ID-en, går du til Microsoft Entra-appen og velger appkoblingen i administrert program i lokal katalogfra Oversikt.
Kopier objekt-ID-enfra Egenskaper -delen.
Godkjenning
Godkjenning mislyktes med AADSTS70002 eller AADSTS50053
(AADSTS70002: Feil under validering av legitimasjon. AADSTS50053: Du har prøvd å logge på for mange ganger med feil bruker-ID eller passord)
Hvis du bruker direktegodkjenning for Power BI Embedded og Microsoft Entra, kan det hende du mottar en melding som den forrige meldingen når du prøver å logge på, fordi direkte godkjenning ikke er aktivert.
Du kan aktivere direkte godkjenning på nytt ved hjelp av en Microsoft Entra-policy som er begrenset til organisasjonen, eller en tjenestekontohaver.
Vi anbefaler at du aktiverer denne policyen bare per app.
Hvis du vil opprette denne policyen, må du være en global administrator for katalogen der du oppretter policyen og tilordner den. Her er et eksempelskript for å opprette policyen og tilordne den til SP for dette programmet:
Installer Microsoft Graph PowerShell SDK.
Kjør følgende PowerShell-kommandoer linje for linje (kontroller at variabelen
$sp
ikke har mer enn ett program som et resultat).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
Når policyen er tilordnet, venter du omtrent 15–20 sekunder på overføring før testing.
Generering av token mislykkes når du yter effektiv identitet
GenerateToken
kan mislykkes med effektiv identitet som leveres av flere ulike årsaker:
- Den semantiske modellen støtter ikke effektiv identitet.
- Brukernavn ble ikke angitt.
- Rollen ble ikke angitt.
-
DatasetId
ble ikke oppgitt. - Brukeren har ikke de riktige tillatelsene.
Prøv følgende fremgangsmåte for å finne ut problemet:
- Kjør hent datasett. Er egenskapen
IsEffectiveIdentityRequired
sann? - Brukernavn kreves for alle
EffectiveIdentity
. - Hvis
IsEffectiveIdentityRolesRequired
er sann, kreves rolle. -
DatasetId
kreves for alleEffectiveIdentity
. - For Analysis Services må hovedbrukeren være gatewayadministrator.
AADSTS90094: Tildelingen krever administratortillatelse
symptomer:
Når en bruker som ikke er administrator, prøver å logge på et program for første gang mens han gir samtykke, får en av følgende feil:
-
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.
En administratorbruker kan logge på og gi samtykke.
grunnårsak:
Brukersamtykke er deaktivert for leieren.
Flere løsninger er mulig:
- Aktiver brukersamtykke for hele leieren (alle brukere, alle programmer):
- Gå til Microsoft Entra ID>Brukere og grupper>Brukerinnstillingeri Azure-portalen.
- Aktiver Brukere kan samtykke til at apper får tilgang til firmadata på deres vegne innstilling og lagrer endringene.
- En administrator kan gi tillatelser til programmet – enten for hele leieren eller en bestemt bruker.
CS1061-feil
Last ned Microsoft.IdentityModel.Clients.ActiveDirectory hvis du opplever følgende feil:
'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?)
Microsoft Entra-token for en annen leier (gjestebruker)
Når du innebygging for organisasjonen, for å gi Microsoft Entra gjestebrukere tilgang til innholdet, må du angi leier-ID-en i authorityUri
-parameteren.
NETTADRESSE for godkjenning i organisasjonens leier:
https://login.microsoftonline.com/common/v2.0
NETTADRESSE for godkjenning av en gjest Microsoft Entra-bruker:
https://login.microsoftonline.com/<tenant ID>
Hvis du vil finne leier-ID-en, kan du bruke instruksjonene i Finne Leier-ID-en for Microsoft Entra og primært domenenavn.
Hvis du vil ha mer informasjon, kan du se Gjør programmet ditt flertenant.
Datakilder
ISV ønsker å ha annen legitimasjon for samme datakilde
En datakilde kan ha ett enkelt sett med legitimasjon for én hovedbruker. Hvis du trenger å bruke annen legitimasjon, kan du opprette flere hovedbrukere. Deretter tilordner du de ulike legitimasjonene til hver av hovedbrukernes kontekster, og bygger inn ved hjelp av Microsoft Entra-tokenet til denne brukeren.
Feilsøke det innebygde programmet med IError-objektet
Bruk IError-objektet som returneres av feilhendelsen fra JavaScript SDK- til å feilsøke programmet og bedre forstå årsaken til feilene dine.
Når du har anskaffet IError-objektet, bør du se på den aktuelle vanlige feiltabellen som passer til innebyggingstypen du bruker. Sammenlign IError-egenskapene med de i tabellen, og finn mulige årsaker til feilen.
Vanlige feil ved innebygging for Power BI-brukere
Budskap | Detaljert melding | Feilkode | Mulige årsaker |
---|---|---|---|
TokenExpired | Tilgangstokenet er utløpt, send inn på nytt med et nytt tilgangstoken | 403 | Utløpt token |
PowerBIEntityNotFound | Hent rapport mislyktes | 404 | |
Ugyldige parametere | powerbiToken-parameter er ikke angitt | N/A | |
LoadReportFailed | Kan ikke initialisere - Kan ikke løse klynge | 403 | |
PowerBINotAuthorizedException | Hent rapport mislyktes | 401 | |
TokenExpired | Tilgangstokenet er utløpt, og send inn på nytt med et nytt tilgangstoken. Kan ikke gjengi et visualobjekt med tittelen visualobjekttittel | N/A | |
OpenConnectionError | Kan ikke vise visualobjektet. Kan ikke gjengi et visualobjekt med tittelen visualobjekttittel | N/A | Kapasiteten ble midlertidig stanset eller slettet mens en rapport relatert til kapasiteten var åpen i en økt |
ExplorationContainer_FailedToLoadModel_DefaultDetails | Kan ikke laste inn modellskjemaet som er knyttet til denne rapporten. Kontroller at du har en tilkobling til serveren, og prøv på nytt. | N/A |
Vanlige feil ved innebygging for ikke-Power BI-brukere (ved hjelp av et innebyggingstoken)
Budskap | Detaljert melding | Feilkode | Mulige årsaker |
---|---|---|---|
TokenExpired | Tilgangstokenet er utløpt, send inn på nytt med et nytt tilgangstoken | 403 | Utløpt token |
LoadReportFailed | Hent rapport mislyktes | 404 | |
LoadReportFailed | Hent rapport mislyktes | 403 | Rapport-ID samsvarer ikke med tokenet |
LoadReportFailed | Hent rapport mislyktes | 500 | Angitt ID for rapport er ikke en GUID |
Ugyldige parametere | powerbiToken-parameter er ikke angitt | N/A | |
LoadReportFailed | Kan ikke initialisere - Kan ikke løse klynge | 403 | Feil tokentype eller ugyldig token |
PowerBINotAuthorizedException | Hent rapport mislyktes | 401 | Feil/uautorisert gruppe-ID |
TokenExpired | Tilgangstokenet er utløpt, og send inn på nytt med et nytt tilgangstoken. Kan ikke gjengi et visualobjekt med tittelen visualobjekttittel | N/A | |
OpenConnectionError | Kan ikke vise visualobjektet. Kan ikke gjengi et visualobjekt med tittelen visualobjekttittel | N/A | Kapasiteten ble midlertidig stanset eller slettet mens en rapport relatert til kapasiteten var åpen i en økt |
ExplorationContainer_FailedToLoadModel_DefaultDetails | Kan ikke laste inn modellskjemaet som er knyttet til denne rapporten. Kontroller at du har en tilkobling til serveren, og prøv på nytt. | N/A |
Få rapporten mislykkes – feil 401 – løs seg selv
I bruker eier data scenario, vil noen ganger brukere få en 401-feil som løser seg selv etter at de har tilgang til Power BI-portalen. Når 401-feilen oppstår, kan du legge til RefreshUser-tillatelser ringe i appen som forklart i Oppdater brukertillatelser.
Semantiske modeller
Administrere hvilken del av dataene brukerne kan se
Alle brukere med lesetillatelser for en semantisk modell kan se hele skjemaet (tabeller, kolonner og mål) og alle dataene. Du kan ikke kontrollere visningstillatelser til rå og aggregerte data separat i samme semantiske modell.
Hvis du vil administrere hvilken del av dataene brukerne kan vise, kan du bruke én av følgende metoder:
Filtrering på radnivå ved hjelp av Power BI sikkerhet på radnivå (RLS).
Skill dataene i forskjellige semantiske modeller. Du kan for eksempel opprette en semantisk modell som bare inneholder aggregerte data og gi brukerne tilgang til bare den semantiske modellen.
Innholdsgjengivelse
Hvis du vil løse gjengivelsesproblemer i innebygde Power BI-elementer (for eksempel rapporter og instrumentbord), kan du se gjennom denne delen.
Kontroller at Power BI-elementet lastes inn i Power BI-tjenesten
Hvis du vil utelukke problemer med programmet eller API-ene for innebygging, må du kontrollere at elementet kan vises i Power BI-tjenesten (powerbi.com).
Kontroller at Power BI-elementet lastes inn i lekeplassen for innebygd analyse med Power BI
Hvis du vil utelukke problemer med programmet, må du kontrollere at Power BI-elementet kan vises i innebygd analyselekeplass for Power BI.
Kontroller at tilgangstokenet ikke utløp
For sikkerhetsformål har tilgangstokener (et Microsoft Entra-token eller et innebyggingstoken) en begrenset levetid. Du bør hele tiden overvåke tilgangstokenet og oppdatere det om nødvendig. Hvis du vil ha mer informasjon, kan du se Oppdatere tilgangstokenet.
Prestasjon
For å få best mulig innebygd innhold anbefaler vi at du følger anbefalte fremgangsmåter for innebygd analyse med Power BI.
Relatert innhold
vanlige spørsmål om Power BI Embedded
Flere spørsmål? Spør Power BI-fellesskapet