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 fra klientcomputeren. Dette værktøj viser muligvis fejl og andre relaterede oplysninger.

Skærmbillede af vinduet Fiddler-værktøjsoutput, der viser Power BI-API HTTP-trafik.

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.

Skærmbillede af udviklervinduets fane Netværk i webbrowseren, som viser netværkstrafikken.

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.

Registrering af app

Fejl ved appregistrering

Fejlmeddelelser i 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-tjeneste vises ikke i 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

Programobjekt-id'et, der også blot kaldes 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.

Skærmbillede af vinduet Azure-portal, som viser objekt-id'et i bladet Oversigt i et Microsoft Entra-program.

Hovedobjekt-id

Det primære objekt-id, der også blot kaldes 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 mappe i oversigt.

Skærmbillede af vinduet Azure-portal, som viser indstillingen Administreret program i lokal mappe under bladet Oversigt i et Microsoft Entra-program.

Kopiér objekt-id'et i afsnittet Egenskaber.

Skærmbillede af vinduet Azure-portal, som viser hovedobjekt-id'et i afsnittet Egenskaber under bladet Oversigt i et Microsoft Entra-program.

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 Administration istrator 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:

  1. Installér Microsoft Graph PowerShell SDK.

  2. 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 et par forskellige årsager:

  • Den semantiske model understøtter ikke effektiv identitet.
  • Brugernavnet blev ikke angivet.
  • Rollen blev ikke angivet.
  • DatasetId ikke blev angivet.
  • 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 true?
  • Brugernavn er påkrævet for alle EffectiveIdentity.
  • Hvis IsEffectiveIdentityRolesRequired er sand, er rolle påkrævet.
  • DatasetId er påkrævet for en hvilken som helst EffectiveIdentity.
  • 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.
    

    Skærmbillede af dialogboksen til logon af Azure-portal vindue, som viser tilladelsesfejlen Samtykketest.

En administratorbruger kan logge på og give samtykke.

Årsagen:

Brugersamtykke er deaktiveret for lejeren.

Der er flere mulige rettelser:

  • Aktivér brugersamtykke for hele lejeren (alle brugere, alle programmer):
  1. I Azure-portal skal du gå til Microsoft Entra ID-brugere>og -grupper>Brugerindstillinger.
  2. Aktivér, at brugerne kan give samtykke til, at apps får adgang til firmadata på deres vegne , og gem ændringerne.

Skærmbillede af Azure-portal.

  • 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 integrerer for din organisation, skal du angive lejer-id'et i authorityUri parameteren for at give Gæstebrugere af Microsoft Entra 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 Sådan gør du dit program til flere lejere.

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 programmet 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

Meddelelse 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
  • Forkert rapport-id
  • Rapporten findes ikke
  • Ugyldige parametre parameteren powerbiToken er ikke angivet I/R
  • Der er ikke angivet et adgangstoken
  • Der er ikke angivet noget rapport-id
  • LoadReportFailed Initialisering mislykkedes - Klyngen kunne ikke løses 403
  • Forkert adgangstoken
  • Integreringstypen svarer ikke til tokentypen
  • PowerBINotAuthorizedException Hent rapport mislykkedes 401
  • Forkert gruppe-id
  • Uautoriseret gruppe
  • Token udtr. Adgangstokenet er udløbet. Send det igen med et nyt adgangstoken. En rapportvisualisering med titlen: titel på visualisering kunne ikke gengives I/R
  • Forespørg om data
  • Udløbet token
  • Åbn Forbind ionFejl Visualiseringen kan ikke vises. En rapportvisualisering med titlen: titel på visualisering kunne ikke gengives I/R 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. I/R
  • Kapaciteten er midlertidigt afbrudt
  • Kapaciteten er slettet
  • Typiske fejl ved integrering for ikke-Power BI-brugere (ved hjælp af et integreringstoken)

    Meddelelse Detaljeret meddelelse Fejlkode Årsag(er)
    Token udtr. Adgangstokenet er udløbet. Send igen med et nyt adgangstoken 403 Udløbet token
    LoadReportFailed Hent rapport mislykkedes 404
  • Forkert rapport-id
  • Rapporten findes ikke
  • 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 I/R
  • Der er ikke angivet et adgangstoken
  • Der er ikke angivet noget rapport-id
  • 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: titel på visualisering kunne ikke gengives I/R
  • Forespørg om data
  • Udløbet token
  • Åbn Forbind ionFejl Visualiseringen kan ikke vises. En rapportvisualisering med titlen: titel på visualisering kunne ikke gengives I/R 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. I/R
  • Kapaciteten er midlertidigt afbrudt
  • Kapaciteten er slettet
  • Hent rapport mislykkes – fejl 401 – løs sig selv

    I brugeren ejer datascenariet får brugerne nogle gange en 401-fejl, der løses sig selv, når de har adgang til Power BI-portalen. Når 401-fejlen opstår, skal du tilføje kaldet RefreshUser Permissions 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 sikkerhed på rækkeniveau i Power BI.

    • Sikkerhed på objektniveau .

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

    Hvis du vil udelukke problemer med dit program eller integrerings-API'er, skal du kontrollere, at elementet kan vises i Power BI-tjeneste (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å legepladsen til 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 under Opdater adgangstokenet.

    Performance

    Vi anbefaler, at du følger de bedste fremgangsmåder for integreret Analyse i Power BI for at få det bedst præsterende integrerede indhold.

    Værktøjet Integrer konfiguration

    Du kan gennemgå værktøjet til konfiguration af integrering for hurtigt at downloade et eksempelprogram. Derefter kan du sammenligne dit program med eksemplet.

    Forudsætninger

    Kontrollér, at du har alle de nødvendige forudsætninger, før du bruger installationsværktøjet til integrering. Du skal bruge en Power BI Pro-konto og et Microsoft Azure-abonnement.

    Almindelige problemer

    Nogle af de almindelige problemer, du kan støde på under test af værktøjet til konfiguration af integrering, er:

    Brug af eksempelprogrammet Integrer for dine kunder

    Hvis du arbejder med embed for your customers , skal du gemme og udpakke filen PowerBI-Developer-Samples.zip . Åbn derefter mappen PowerBI-Developer-Samples-master\App Owns Data , og kør filen PowerBIEmbedded_AppOwnsData.sln .

    • Når du vælger Tildel tilladelser (trinnet Tildel tilladelser), får du vist følgende fejl:
    AADSTS70001: Application with identifier <client ID> wasn't found in the directory <directory ID>
    

    Løsningen er at lukke pop op-vinduet, vente et par sekunder og prøve igen. Du skal muligvis gentage denne handling et par gange. Et tidsinterval medfører, at problemet ikke kan fuldføre programregistreringsprocessen, til når den er tilgængelig for eksterne API'er.

    • Følgende fejlmeddelelse vises, når du kører eksempelappen:
    Password is empty. Please fill password of Power BI username in web.config.
    

    Denne fejl opstår, fordi den eneste værdi, der ikke overføres til eksempelprogrammet, er din brugeradgangskode. Åbn filen Web.config i løsningen, og udfyld feltet pbiPassword med brugerens adgangskode.

    • Hvis du får vist fejlen:
    AADSTS50079: The user is required to use multi-factor authentication.
    

    Du skal bruge en Microsoft Entra-konto, der ikke har MFA aktiveret.

    Brug af eksempelprogrammet Integrer for din organisation

    Hvis du arbejder med Embed for your organization , skal du gemme og udpakke filen PowerBI-Developer-Samples.zip . Åbn derefter mappen PowerBI-Developer-Samples-master\User Owns Data\integrate-report-web-app , og kør filen pbi-saas-embed-report.sln .

    • Når du kører eksempelappen Integrer for din organisation , får du vist følgende fejl:
    AADSTS50011: The reply URL specified in the request doesn't match the reply URLs configured for the application: <client ID>
    

    Denne fejl skyldes, at den URL-adresse til omdirigering, der er angivet for webserverprogrammet, er forskellig fra eksemplets URL-adresse. Hvis du vil registrere eksempelprogrammet, skal du bruge https://localhost:13526/ som URL-adresse til omdirigering.

    Hvis du vil redigere det registrerede program, skal du opdatere det Microsoft Entra-registrerede program, så programmet kan give adgang til web-API'erne.

    Hvis du vil redigere din Power BI-brugerprofil eller -data, kan du få mere at vide om, hvordan du redigerer dine Power BI-data.

    • Hvis du får vist fejlen:
    AADSTS50079: The user is required to use multi-factor authentication.
    

    Du skal bruge en Microsoft Entra-konto, der ikke har MFA aktiveret.

    Du kan få flere oplysninger under Ofte stillede spørgsmål om Power BI Embedded.

    Hvis du vil have yderligere hjælp, skal du kontakte support eller oprette en supportanmodning via Azure-portal og angive de fejlmeddelelser, du støder på.

    Har du flere spørgsmål? Spørg Power BI-community'et