Del via


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.

Skærmbillede af outputvinduet for Fiddler-værktøjet, som viser HTTP-trafik for Power BI API.

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.

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.

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

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.

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 fori afsnittet egenskaber for .

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

  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 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 alle 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 logondialogboksen for Azure Portal-vinduet, som viser tilladelsesfejlen Samtykketest.

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):
  1. Gå til Microsoft Entra ID>Brugere og grupper>Brugerindstillingerpå Azure Portal.
  2. Aktivér Brugerne kan give samtykke til, at apps får adgang til virksomhedsdata på deres vegne, indstilling og gemme æ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 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
  • Forkert rapport-id
  • Rapporten findes ikke
  • Ugyldige parametre parameteren powerbiToken er ikke angivet NIELSEN
  • 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 kunne ikke gengives: visualtitel NIELSEN
  • Forespørg om data
  • Udløbet token
  • 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
  • Kapaciteten er midlertidigt afbrudt
  • Kapaciteten er slettet
  • 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
  • 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 NIELSEN
  • 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 kunne ikke gengives: visualtitel NIELSEN
  • Forespørg om data
  • Udløbet token
  • 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
  • Kapaciteten er midlertidigt afbrudt
  • Kapaciteten er slettet
  • 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.

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

    ofte stillede spørgsmål om Power BI Embedded

    Flere spørgsmål? Spørg Power BI-community'et