Foretag fejlfinding af dit integrerede program
I denne artikel beskrives nogle almindelige problemer, der kan opstå, når du integrerer indhold fra Power BI.
Fejlfindingsværktøjer
Fiddler Trace
Fiddler er et gratis værktøj fra Telerik, der overvåger HTTP-trafik. Du kan se trafikken med Power BI-API'er fra klientcomputeren. Dette værktøj viser muligvis fejl og andre relaterede oplysninger.
F12 i browser til frontendfejlfinding
F12-nøglen starter udviklervinduet i din browser. Med dette værktøj kan du se netværkstrafik og se andre værdifulde oplysninger.
Udtræk oplysninger om fejl fra Power BI-svar
Dette kodestykke viser, hvordan du udtrækker fejloplysningerne fra en HTTP-undtagelse:
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 logfører anmodnings-id'et (og fejloplysninger til fejlfinding). Angiv anmodnings-id'et, når du henvender dig til Microsoft Support.
Appregistrering
Fejl ved appregistrering
Fejlmeddelelser på Azure Portal eller power BI-appregistreringssiden giver dig besked, hvis du ikke har tilstrækkelige rettigheder til at registrere din app. Hvis du vil registrere et program, skal du være administrator i Microsoft Entra-lejeren, eller programregistreringer skal være aktiveret for brugere, der ikke er administratorer.
Power BI-tjenesten vises ikke på Azure Portal, når du registrerer en ny app
Mindst én bruger skal være tilmeldt Power BI. Hvis du ikke kan se Power BI-tjeneste angivet på API-listen, er ingen bruger tilmeldt Power BI.
Hvad er forskellen mellem et programobjekt-id og et hovedobjekt-id?
Når du registrerer en Microsoft Entra-app, er der to parametre, der kaldes objekt-id. I dette afsnit forklares formålet med hver parameter, og hvordan du får den.
Programobjekt-id
Det programobjekt id, også blot kaldet objekt-id'et, er det entydige id for dit Microsoft Entra-programobjekt.
Hvis du vil hente programobjekt-id'et, skal du gå til din Microsoft Entra-app og kopiere den fra Oversigt.
Hovedobjekt-id
Det primære objekt-id, også blot kaldet objekt-id'et, er det entydige id for det tjenesteprincipalobjekt, der er knyttet til dit Microsoft Entra-program.
Hvis du vil hente dit hovedobjekt-id, skal du gå til din Microsoft Entra-app og vælge applinket i Administreret program i den lokale mappei Oversigt.
Kopiér objekt-id'et fori afsnittet egenskaber for .
Godkendelse
Godkendelse mislykkedes med AADSTS70002 eller AADSTS50053
(AADSTS70002: Fejl under validering af legitimationsoplysninger. AADSTS50053: Du har forsøgt at logge på for mange gange med et forkert bruger-id eller en forkert adgangskode)
Hvis du bruger Direkte godkendelse i Power BI Embedded og Microsoft Entra, modtager du muligvis en meddelelse som den forrige meddelelse, når du forsøger at logge på, fordi direkte godkendelse ikke er aktiveret.
Du kan slå direkte godkendelse til igen ved hjælp af en Microsoft Entra-politik, der er begrænset til organisationen, eller en tjenesteprincipal.
Vi anbefaler, at du kun aktiverer denne politik pr. app.
Hvis du vil oprette denne politik, skal du være Global administrator for den mappe, hvor du opretter politikken og tildeler den. Her er et eksempel på et script til oprettelse af politikken og tildeling af den til SP for dette program:
Installér Microsoft Graph PowerShell SDK-.
Kør følgende PowerShell-kommandoer linje for linje (sørg for, at variablen
$sp
ikke har mere end ét program som 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 politikken er tildelt, skal du vente ca. 15-20 sekunder på overførsel, før du tester den.
Generering af token mislykkes, når der angives effektiv identitet
GenerateToken
kan mislykkes med effektiv identitet, der leveres af flere forskellige årsager:
- Den semantiske model understøtter ikke effektiv identitet.
- Brugernavnet blev ikke angivet.
- Rollen blev ikke angivet.
-
DatasetId
blev ikke leveret. - Brugeren har ikke de korrekte tilladelser.
Prøv følgende trin for at finde ud af problemet:
- Kør hent datasæt. Er egenskaben
IsEffectiveIdentityRequired
sand? - Brugernavn er påkrævet for alle
EffectiveIdentity
. - Hvis
IsEffectiveIdentityRolesRequired
er sand, er rolle påkrævet. -
DatasetId
er påkrævet for alleEffectiveIdentity
. - For Analysis Services skal masterbrugeren være gatewayadministrator.
AADSTS90094: Tildelingen kræver administratorrettigheder
symptomer:
Når en bruger, der ikke er administrator, forsøger at logge på et program første gang, mens vedkommende giver samtykke, får en af følgende fejl:
-
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 administratorbruger kan logge på og give samtykke.
rodårsag:
Brugersamtykke er deaktiveret for lejeren.
Der er flere mulige rettelser:
- Aktivér brugersamtykke for hele lejeren (alle brugere, alle programmer):
- Gå til Microsoft Entra ID>Brugere og grupper>Brugerindstillingerpå Azure Portal.
- Aktivér Brugerne kan give samtykke til, at apps får adgang til virksomhedsdata på deres vegne, indstilling og gemme ændringerne.
- En administrator kan tildele tilladelser til programmet – enten for hele lejeren eller for en bestemt bruger.
CS1061-fejl
Download Microsoft.IdentityModel.Clients.ActiveDirectory, hvis du oplever følgende fejl:
'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 anden lejer (gæstebruger)
Når du integrere for din organisation, skal du angive lejer-id'et i parameteren authorityUri
for at give Microsoft Entra-gæstebrugere adgang til dit indhold.
URL-adresse til godkendelse i din organisations lejer:
https://login.microsoftonline.com/common/v2.0
URL-adresse til godkendelse af en microsoft Entra-gæstebruger:
https://login.microsoftonline.com/<tenant ID>
Hvis du vil finde dit lejer-id, kan du bruge instruktionerne i Find Microsoft Entra-lejer-id'et og det primære domænenavn.
Du kan få flere oplysninger under Gør dit program multitenant.
Datakilder
ISV vil have forskellige legitimationsoplysninger for den samme datakilde
En datakilde kan have et enkelt sæt legitimationsoplysninger for én masterbruger. Hvis du har brug for at bruge forskellige legitimationsoplysninger, skal du oprette flere masterbrugere. Tildel derefter de forskellige legitimationsoplysninger til hver af masterbrugernes kontekster, og integrer ved hjælp af Microsoft Entra-tokenet for den pågældende bruger.
Foretag fejlfinding af det integrerede program med IError-objektet
Brug det IError-objekt, der returneres af fejlhændelsen fra JavaScript SDK- til at foretage fejlfinding af dit program og bedre forstå årsagen til fejlene.
Når du har fået objektet IError, skal du se på den relevante tabel over almindelige fejl, der passer til den integreringstype, du bruger. Sammenlign egenskaberne IError med egenskaberne i tabellen, og find de mulige årsager til fejlen.
Typiske fejl ved integrering for Power BI-brugere
Budskab | Detaljeret meddelelse | Fejlkode | Mulige årsager |
---|---|---|---|
Token udtr. | Adgangstokenet er udløbet. Send igen med et nyt adgangstoken | 403 | Udløbet token |
PowerBIEntityNotFound | Hent rapport mislykkedes | 404 | |
Ugyldige parametre | parameteren powerbiToken er ikke angivet | NIELSEN | |
LoadReportFailed | Initialisering mislykkedes - Klyngen kunne ikke løses | 403 | |
PowerBINotAuthorizedException | Hent rapport mislykkedes | 401 | |
Token udtr. | Adgangstokenet er udløbet. Send det igen med et nyt adgangstoken. En rapportvisualisering med titlen kunne ikke gengives: visualtitel | NIELSEN | |
OpenConnectionError | Visualiseringen kan ikke vises. En rapportvisualisering med titlen kunne ikke gengives: visualtitel | NIELSEN | Kapaciteten er midlertidigt afbrudt eller slettet, mens en rapport, der er relateret til kapaciteten, var åben i en session |
ExplorationContainer_FailedToLoadModel_DefaultDetails | Det modelskema, der er knyttet til denne rapport, kunne ikke indlæses. Kontrollér, at du har forbindelse til serveren, og prøv igen. | NIELSEN |
Typiske fejl ved integrering for ikke-Power BI-brugere (ved hjælp af et integreringstoken)
Budskab | Detaljeret meddelelse | Fejlkode | Mulige årsager |
---|---|---|---|
Token udtr. | Adgangstokenet er udløbet. Send igen med et nyt adgangstoken | 403 | Udløbet token |
LoadReportFailed | Hent rapport mislykkedes | 404 | |
LoadReportFailed | Hent rapport mislykkedes | 403 | Rapport-id'et svarer ikke til tokenet |
LoadReportFailed | Hent rapport mislykkedes | 500 | Det angivne id for rapporten er ikke et GUID |
Ugyldige parametre | parameteren powerbiToken er ikke angivet | NIELSEN | |
LoadReportFailed | Initialisering mislykkedes - Klyngen kunne ikke løses | 403 | Forkert tokentype eller forkert token |
PowerBINotAuthorizedException | Hent rapport mislykkedes | 401 | Forkert/uautoriseret gruppe-id |
Token udtr. | Adgangstokenet er udløbet. Send det igen med et nyt adgangstoken. En rapportvisualisering med titlen kunne ikke gengives: visualtitel | NIELSEN | |
OpenConnectionError | Visualiseringen kan ikke vises. En rapportvisualisering med titlen kunne ikke gengives: visualtitel | NIELSEN | Kapaciteten er midlertidigt afbrudt eller slettet, mens en rapport, der er relateret til kapaciteten, var åben i en session |
ExplorationContainer_FailedToLoadModel_DefaultDetails | Det modelskema, der er knyttet til denne rapport, kunne ikke indlæses. Kontrollér, at du har forbindelse til serveren, og prøv igen. | NIELSEN |
Hent rapport mislykkes – fejl 401 – løs sig selv
I det brugeren ejer data scenarie, får brugerne nogle gange en 401-fejl, der løser sig selv, når de har adgang til Power BI-portalen. Når 401-fejlen opstår, skal du tilføje RefreshUser-tilladelser kalde i appen som forklaret i Opdater brugertilladelser.
Semantiske modeller
Administrer, hvilken del af dataene brugerne kan se
Alle brugere med læsetilladelser til en semantisk model kan se hele skemaet (tabeller, kolonner og målinger) og alle dataene. Du kan ikke styre visningstilladelser til rå og aggregerede data separat i den samme semantiske model.
Hvis du vil administrere, hvilken del af dataene brugerne kan få vist, skal du bruge en af følgende metoder:
Filtrering på rækkeniveau ved hjælp af Power BI sikkerhed på rækkeniveau.
Adskil dataene i forskellige semantiske modeller. Du kan f.eks. oprette en semantisk model, der kun indeholder aggregerede data, og give dine brugere adgang til den semantiske model.
Gengivelse af indhold
Hvis du vil løse problemer med gengivelse i integrerede Power BI-elementer (f.eks. rapporter og dashboards), skal du gennemse dette afsnit.
Kontrollér, at Power BI-elementet indlæses i Power BI-tjenesten
Hvis du vil udelukke problemer med dit program eller integrerings-API'er, skal du kontrollere, at elementet kan vises i Power BI-tjenesten (powerbi.com).
Bekræft, at Power BI-elementet indlæses på legepladsen til integreret analyse i Power BI
Hvis du vil udelukke problemer med dit program, skal du kontrollere, at Power BI-elementet kan vises på legeplads for integreret analyse i Power BI.
Kontrollér, at dit adgangstoken ikke udløb
Af sikkerhedsmæssige årsager har adgangstokens (et Microsoft Entra-token eller et integreringstoken) en begrænset levetid. Du bør konstant overvåge dit adgangstoken og opdatere det, hvis det er nødvendigt. Du kan få flere oplysninger i Opdater adgangstokenet.
Præstation
Vi anbefaler, at du følger bedste praksis for integreret Power BI-analysefor at få det bedst præsterende integrerede indhold.
Relateret indhold
ofte stillede spørgsmål om Power BI Embedded
Flere spørgsmål? Spørg Power BI-community'et