Foretag fejlfinding af dit integrerede program

I denne artikel beskrives nogle almindelige problemer, som kan opstå, når du integrerer indhold fra Power BI.

Værktøjer til fejlfinding

Fiddler-sporing

Fiddler er et gratis værktøj fra Telerik, der overvåger HTTP-trafik. Du kan se trafikken vha. Power BI-API'er fra klientcomputeren. Dette værktøj kan vise fejl og andre relaterede oplysninger.

Fiddler-sporing

F12 i browser for fejlfinding af front-end

F12 starter udviklervinduet i din browser. Du kan bruge dette værktøj til at se netværkstrafik og andre oplysninger.

F12 Browser-fejlfinding

Udtræk oplysninger om fejl fra Power BI-svar

Dette kodestykke viser, hvordan du udtrækker fejloplysninger fra 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 med henblik på fejlfinding). Oplys om anmodnings-id'et, når du henvender dig til Microsoft Support.

Programregistrering

Fejl ved programregistrering

Fejlmeddelelser internt på Azure-portalen eller Power BI-programmets registreringsside angiver utilstrækkelige rettigheder. For at registrere et program skal du være administrator i Azure AD-lejeren, eller programregistreringer skal være aktiveret for brugere uden administratorstatus.

Power BI-tjenesten vises ikke på Azure Portal, når et nyt program registreres

Mindst en bruger skal være tilmeldt Power BI. Hvis du ikke kan se Power BI-tjenesten på API-listen, er der ikke tilmeldt nogen brugere i Power BI.

Hvad er forskellen mellem applikationsobjekt-ID og Principal-objekt-ID?

Når du registrerer en Azure AD-app, er der to parametre, der hedder objekt-id. I dette afsnit beskrives formålet med de enkelte parametre, og hvordan du får fat i den.

Programobjekt-ID

Programobjekt -id'et, som også kender objekt-id, er det entydige id for dit Azure ad Application-objekt.

Hvis du vil hente programobjekt-id'et, skal du navigere til din Azure AD-app og kopiere det fra oversigten.

Et skærmbillede, der viser objekt I D på oversigts bladet i et Azure A D-program

Primært objekt-ID

Det primære objekt-ID, også kaldet objekt-id, er det entydige id for det Service Principal-objekt , der er knyttet til dit Azure ad-program.

Hvis du vil hente dit primære objekt-ID, skal du navigere til din Azure AD-app, og i oversigten skal du vælge app-linket i det administrerede program i den lokale mappe.

Et skærmbillede, der viser det administrerede program i lokal mappe på oversigts bladet i et Azure A D-program

I afsnittet Egenskaber skal du kopiere objekt-id'et.

Et skærmbillede, der viser hovedobjektet I D i afsnittet egenskaber på oversigts bladet i et Azure A D-program

REST API

API-kald returnerer 401

En fiddler-optagelse kan være påkrævet med henblik på yderligere efterforskning. Det påkrævede tilladelsesomfang kan være utilstrækkeligt for det registrerede program internt i Azure AD. Bekræft, at det påkrævede omfang er til stede i programregistreringen til Azure AD internt på Azure-portalen.

API-kald returnerer 403

En fiddler-optagelse kan være påkrævet med henblik på yderligere efterforskning. Der kan være flere grunde til en 403-fejl.

  • Brugeren har overskredet antallet af integrerede tokens, der kan genereres på en delt kapacitet. Køb Azure-kapacitet for at generere integreringstokens og tildele arbejdsområdet til den pågældende kapacitet. Se Opret Power BI Embedded-kapacitet på Azure Portal.
  • Azure AD auth-tokenet kan være udløbet.
  • Den godkendte bruger er ikke et medlem af gruppen (arbejdsområde).
  • Den godkendte bruger er ikke en administrator af gruppen (arbejdsområde).
  • Den godkendte bruger har ikke tilladelser. Tilladelser kan opdateres ved hjælp af refreshUserPermissions API
  • Godkendelsesheaderen kan være angivet forkert. Kontroller for tastefejl.

Programmets backend skal muligvis opdatere godkendelsestokenet før kaldet til GenerateToken. Du kan finde flere oplysninger under Opdater dette adgangstoken.

GET https://wabi-us-north-central-redirect.analysis.windows.net/metadata/cluster HTTP/1.1
Host: wabi-us-north-central-redirect.analysis.windows.net
...
Authorization: Bearer eyJ0eXAiOi...
...

HTTP/1.1 403 Forbidden
...

{"error":{"code":"TokenExpired","message":"Access token has expired, resubmit with a new access token"}}

Hvordan løses timeout undtagelser, når der bruges import og eksport-API'er?

når du sender en Power BI REST API -anmodning, kan den ankomme til en klynge, der ikke indeholder din lejers data. I sådanne tilfælde kan redirecting-anmodningen muligvis ikke udføres på grund af en timeout.

Hvis du vil rette timeout undtagelsen, kan du sende anmodningen igen med preferClientRouting parameteren angivet til true . hvis din anmodning ankommer til den forkerte klynge, returnerer Power BI tjeneste et HTTP-svar på 307, der midlertidigt omdirigeres . I så fald skal du omdirigere din anmodning til den nye adresse, der er angivet i svaret https location-headeren.

Godkendelse

Godkendelse mislykkedes med AADSTS90002: Lejeren "godkend" blev ikke fundet

Hvis du modtager meddelelseslogge, såsom fejl: invalid_request, error_description: AADSTS90002: Lejeren "godkend" blev ikke fundet, er det fordi, ADAL 4.x ikke understøtter "https://login.microsoftonline.com/{Tenant}/oauth2/authorize/" som en URL-adresse for autoritet.

Hvis du vil løse dette problem, skal du fjerne "oauth2/authorize/" fra slutningen af din URL-adresse for autoritet. Du kan se flere oplysninger under Eksempler på Power BI Developer.

Kontrollér Bedre myndighedsvalidering i produktbemærkningerne til ADAL 4.x.

Godkendelsen mislykkedes med AADSTS70002 eller AADSTS50053

(AADSTS70002: Der opstod en fejl under validering af legitimationsoplysningerne. AADSTS50053: Du har forsøgt at logge på for mange gange med et forkert bruger-id eller en forkert adgangskode)

hvis du bruger Power BI Embedded og bruger Azure AD Direct-godkendelse, og du modtager meddelelser, f. eks . fejl: unauthorized_client, error_description: AADSTS70002: der opstod en fejl under validering af legitimationsoplysningerne. AADSTS50053: du har forsøgt at logge på for mange gange med et forkert bruger-ID eller en forkert adgangskode, det skyldes, at direkte godkendelse ikke længere er i brug.

Dette kan aktiveres igen ved hjælp af en Azure AD-politik, der er begrænset til organisationen eller en tjenesteprincipal.

Vi anbefaler, at du kun aktiverer denne politik for ét program ad gangen.

Hvis du vil oprette denne politik, skal du være Global Administrator for den mappe, hvor du opretter politikken og tildelingen. Her er et eksempel på et script til oprettelse af politikken og tildeling af den til SP for dette program:

  1. Installér Azure AD PowerShell-modulet som prøveversion.

  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-AzureAD
$sp = Get-AzureADServicePrincipal -SearchString "Name_Of_Application"
$policy = New-AzureADPolicy -Definition @("{`"HomeRealmDiscoveryPolicy`":{`"AllowCloudPasswordValidation`":true}}") -DisplayName EnableDirectAuth -Type HomeRealmDiscoveryPolicy -IsOrganizationDefault $false
Add-AzureADServicePrincipalPolicy -Id $sp.ObjectId -RefObjectId $policy.Id 

Efter tildeling af politikken skal du vente ca. 15-20 sekunder på overførslen, inden du tester.

Generering af token mislykkes ved angivelse af effektiv identitet

GenerateToken kan mislykkes af forskellige grunde, når effektiv identitet er angivet.

  • Datasæt understøtter ikke effektiv identitet
  • Brugernavnet blev ikke angivet
  • Rollen blev ikke angivet
  • Datasæt-id'et blev ikke angivet
  • Brugeren har ikke de korrekte tilladelser

Prøv nedenstående trin for at bekræfte, hvilken en det er.

  • Kør get dataset. Er egenskaben IsEffectiveIdentityRequired sand?
  • Brugernavn er obligatorisk for enhver EffectiveIdentity.
  • Hvis IsEffectiveIdentityRolesRequired er sandt, så er Rolle påkrævet.
  • DatasetId er obligatorisk for enhver EffectiveIdentity.
  • For Analysis Services skal den overordnede bruger være en gateway-administrator.

AADSTS90094: Tildelingen kræver administratorrettigheder

Symptomer:
Når en bruger, der ikke er administrator, forsøger at logge på et program første gang og giver samtykke, får vedkommende vist en af følgende fejl:

  • ConsentTest skal have tilladelse til at få adgang til ressourcer i din organisation, som kun en administrator kan tildele. Bed en administrator om at give tilladelse til dette program, før du kan bruge det.

  • AADSTS90094: Tildelingen kræver administratorrettigheder.

    Samtykketest

En administratorbruger kan logge på og give samtykke.

Hovedårsag:
Brugersamtykke er deaktiveret for lejeren.

Der er flere mulige fejlrettelser:

Aktivere brugersamtykke for hele lejeren (alle brugere, alle programmer)

  1. På Azure Portal skal du gå til "Azure Active Directory" = > "Brugere og grupper" = > "Brugerindstillinger"

  2. Aktivér "Brugerne må give samtykke til, at apps får adgang til virksomhedsdata på deres vegne", og gem ændringerne

    Fejlrettelse af samtykketest

Tildel tilladelser til programmet af en administrator – enten til hele lejeren eller til en bestemt bruger.

CS1061-fejl

Download Microsoft.IdentityModel.Clients.ActiveDirectory, hvis du oplever fejlmeddelelsen: "'AuthenticationContext' indeholder ikke en definition for 'AcquireToken', og der kan ikke findes en tilgængelig 'AcquireToken', der accepterer et første argument af typen 'AuthenticationContext' (mangler du en henvisning til et direktiv eller en assembly?)".

Azure AD-token til en anden lejer (gæstebruger)

Når du integrerer for din organisation, skal du angive lejer-id'et i parameteren for at give Azure AD-gæstebrugere adgang til dit authorityUri indhold.

  • URL-adresse til godkendelse i organisationens lejer:

    https://login.microsoftonline.com/common/v2.0

  • URL-adresse til godkendelse af en Azure AD-gæstebruger:

    https://login.microsoftonline.com/<tenant ID>

Du kan finde dit lejer-id ved at bruge vejledningen under Find det Microsoft Azure AD-lejer-id og det primære domænenavn.

Du kan finde flere oplysninger under Sådan: Log på en Azure Active Directory ved hjælp af programmønsteret med flere lejere.

Datakilder

Softwareproducenten vil have andre legitimationsoplysninger til den samme datakilde

En datakilde kan have et enkelt sæt legitimationsoplysninger til én overordnet bruger. Hvis du har brug for at oprette andre legitimationsoplysninger, skal du oprette andre overordnede brugere. Derefter skal du tildele de andre legitimationsoplysninger til hver af den overordnede brugers kontekster og integrere vha. den pågældende brugers Azure AD-token.

Foretag fejlfinding af det integrerede program med IError-objektet

Brug det IError-objekt, der returneres af fejl hændelsen fra JavaScript-SDK'en, til at foretage fejlfinding af din app, så du bedre kan forstå årsagen til dine fejl.

Når du har modtaget IError-objektet, skal du kigge i den relevante tabel over almindelige fejl, der svarer til den integreringstype, du bruger. Sammenlign IError-egenskaberne med dem i tabellen, og find mulige årsager til fejlen.

Typiske fejl, når du integrerer til Power BI-brugere

Meddelelse Detaljeret meddelelse Fejlkode Mulige årsager
TokenExpired Adgangstokenet er udløbet. Send igen med et nyt adgangstoken 403 Udløbet token
PowerBIEntityNotFound Rapporten blev ikke hentet 404
  • Forkert rapport-id
  • Rapporten findes ikke
  • Ugyldige parametre Parameteren powerbiToken er ikke angivet I/T
  • Der er ikke angivet et adgangstoken
  • Der er ikke angivet et rapport-id
  • LoadReportFailed Initialisering mislykkedes – Klyngen kunne ikke løses 403
  • Forkert adgangstoken
  • Integreringstypen svarer ikke til tokentypen
  • PowerBINotAuthorizedException Rapporten blev ikke hentet 401
  • Forkert gruppe-id
  • Uautoriseret gruppe
  • TokenExpired Adgangstokenet er udløbet. Send igen med et nyt adgangstoken. Rapportens visualisering med titlen kunne ikke gengives: visualtitel I/T Udløbet token for forespørgselsdata
    OpenConnectionError Visualiseringen kan ikke vises. Rapportens visualisering med titlen kunne ikke gengives: visualtitel I/T Kapacitet, der er sat på pause eller slettet, mens en rapport, der er relateret til en kapacitet, 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/T
  • Kapaciteten er midlertidigt afbrudt
  • Kapaciteten er slettet
  • Typiske fejl, der opstår, når du integrerer til brugere, der ikke har Power BI (ved hjælp af et integreret token)

    Meddelelse Detaljeret meddelelse Fejlkode Årsag(er)
    TokenExpired Adgangstokenet er udløbet. Send igen med et nyt adgangstoken 403 Udløbet token
    LoadReportFailed Rapporten blev ikke hentet 404
  • Forkert rapport-id
  • Rapporten findes ikke
  • LoadReportFailed Rapporten blev ikke hentet 403 Rapport-id'et svarer ikke til tokenet
    LoadReportFailed Rapporten blev ikke hentet 500 Det angivne rapport-id er ikke et GUID
    Ugyldige parametre Parameteren powerbiToken er ikke angivet I/T
  • Der er ikke angivet et adgangstoken
  • Der er ikke angivet et rapport-id
  • LoadReportFailed Initialisering mislykkedes – Klyngen kunne ikke løses 403 Forkert tokentype, ugyldigt token
    PowerBINotAuthorizedException Rapporten blev ikke hentet 401 Forkert/uautoriseset gruppe-id
    TokenExpired Adgangstokenet er udløbet. Send igen med et nyt adgangstoken. Det var ikke muligt at gengive en rapport visualisering med titlen: visuel titel I/T Udløbet token for forespørgselsdata
    OpenConnectionError Visualiseringen kan ikke vises. Det var ikke muligt at gengive en rapport visualisering med titlen: visuel titel I/T Kapacitet, der er sat på pause eller slettet, mens en rapport, der er relateret til en kapacitet, 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/T
  • Kapaciteten er midlertidigt afbrudt
  • Kapaciteten er slettet
  • Datasæt

    Administrer den del af dataene, som brugerne kan se

    Alle brugere med læserettigheder til et datasæt kan se hele skemaet (tabeller, kolonner og målinger) og alle dataene. Du kan ikke separat styre visningstilladelser til rå og samlede data i det samme datasæt.

    Hvis du vil administrere den del af dataene, som brugerne kan få vist, skal du bruge en af følgende metoder:

    Indholdsgengivelse

    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 ved at integrere api'er, skal du kontrollere, at elementet kan ses i powerbi.com (Power BI service).

    kontrollér, at det Power BI element indlæses i Power BI embedded analytics forum

    hvis du vil udelukke problemer med dit program, skal du kontrollere, at Power BI elementet kan ses i Power BI embedded analytics forum.

    Kontrollér, at dit adgangstoken ikke udløber

    Af sikkerhedsmæssige årsager har adgangs tokens (et Azure AD token eller et integreret token) en begrænset levetid. Du bør konstant overvåge dit adgangstoken og opdatere det, hvis det er nødvendigt. Du kan finde flere oplysninger under Opdateradgangstoken.

    Ydeevne

    vi anbefaler, at du følger den Power BI integrerede analyse af bedste fremgangsmåderfor at få det bedst mulige integrerede indhold.

    Værktøjet til integrering af konfiguration

    Du kan gennemgå Embedding-konfigurationsværktøjet for hurtigt at downloade en eksempelapp. Derefter kan du sammenligne din app med eksemplet.

    Forudsætninger

    Kontrollér, at du opfylder de påkrævede forudsætninger, før du bruger Embedding-konfigurationsværktøjet. Du skal have en Power BI Pro-konto og et Microsoft Azure-abonnement.

    Almindelige problemer

    Nogle af de mest almindelige problemer, du kan støde på, når du tester værktøjet til integrering af konfiguration, er:

    Brug af eksempelappen Embed for your customers

    Hvis du arbejder med oplevelsen Embed for your customers, skal du gemme og udpakke filen PowerBI-Developer-Samples.zip. Derefter skal du åbne mappen PowerBI-Developer-Samples-master\App Owns Data og køre filen PowerBIEmbedded_AppOwnsData.sln.

    Når du vælger Grant permissions, får du vist følgende fejl:

    AADSTS70001: Application with identifier <client ID> wasn't found in the directory <directory ID>
    

    Du kan løse fejlen ved at lukke pop op-vinduet, vente nogle sekunder og prøve igen. Det kan være nødvendigt at gentage dette nogle gange. Et tidsinterval er årsag til problemet, hvor programregistreringsprocessen ikke kan fuldføres, når den er tilgængelig for eksterne API'er.

    Følgende fejlmeddelelse vises, når eksempelappen køres:

    Password is empty. Please fill password of Power BI username in web.config.
    

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

    Hvis du får vist fejlen – AADSTS50079: Brugeren skal anvende multifaktorgodkendelse.

    Der skal bruges en AAD-konto, hvor multifaktorgodkendelse ikke er aktiveret.

    Brug af eksempelappen Embed for your organization

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

    Når du kører eksempelappen Embed for your organization, får du 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 URL-adressen i eksemplet. Hvis du vil registrere eksempelappen, skal du bruge https://localhost:13526/ som URL-adresse til omdirigering.

    Hvis du vil redigere det registrerede program, skal du lære at opdatere den Azure AD-registrerede app, så den kan give adgang til web-API'erne.

    Hvis du vil redigere Power BI-brugerprofilen eller -dataene, skal du lære, hvordan du redigere dine Power BI-data.

    Hvis du får vist fejlen – AADSTS50079: Brugeren skal anvende multifaktorgodkendelse.

    Der skal bruges en AAD-konto, hvor multifaktorgodkendelse ikke er aktiveret.

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

    Har du flere spørgsmål? Prøv at spørge Power BI-community'et

    Hvis du har brug for yderligere hjælp, kan du kontakte support eller oprette en supportanmodning via Azure Portal og angive de fejlmeddelelser, du får vist.

    Næste trin

    Du kan finde flere oplysninger under Ofte stillede spørgsmål.

    Har du flere spørgsmål? Prøv at spørge Power BI-community'et