Problemen met uw ingesloten toepassing oplossen

In dit artikel worden enkele veelvoorkomende problemen besproken die kunnen optreden bij het insluiten van inhoud vanuit Power BI.

Hulpprogramma's voor probleemoplossing

Traceren met Fiddler

Fiddler is een gratis hulpprogramma van Telerik dat HTTP-verkeer bewaakt. U kunt het verkeer zien met de API van Power BI s vanaf de clientcomputer. Dit hulpprogramma kan fouten en andere gerelateerde informatie weergeven.

Schermopname van het uitvoervenster van het hulpprogramma Fiddler, waarin het API van Power BI HTTP-verkeer wordt weergegeven.

F12 in browser voor foutopsporing in front-end

De F12-sleutel start het ontwikkelaarsvenster in uw browser. Met dit hulpprogramma kunt u netwerkverkeer bekijken en andere waardevolle informatie bekijken.

Schermopname van het tabblad Netwerk van het browserontwikkelaarsvenster, waarin het netwerkverkeer wordt weergegeven.

Foutdetails extraheren uit Power BI-antwoord

Dit codefragment laat zien hoe u de foutdetails kunt extraheren uit een HTTP-uitzondering:

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;
}

U wordt aangeraden de aanvraag-id (en foutdetails voor probleemoplossing) te registreren. Geef de aanvraag-id op bij het benaderen van Microsoft-ondersteuning.

App-registratie

Fout bij app-registratie

Foutberichten in Azure Portal of de registratiepagina van de Power BI-app melden u als u niet over voldoende bevoegdheden beschikt om uw app te registreren. Als u een toepassing wilt registreren, moet u een beheerder zijn in de Microsoft Entra-tenant of moeten toepassingsregistraties zijn ingeschakeld voor niet-beheerders.

Power BI-service wordt niet weergegeven in Azure Portal bij het registreren van een nieuwe app

Er moet ten minste één gebruiker zijn geregistreerd voor Power BI. Als u Power BI-service niet in de API-lijst ziet staan, wordt er geen gebruiker geregistreerd voor Power BI.

Wat is het verschil tussen een object-id van een toepassing en een principal-object-id?

Wanneer u een Microsoft Entra-app registreert, zijn er twee parameters genaamd object-id. In deze sectie wordt het doel van elke parameter uitgelegd en hoe u deze kunt verkrijgen.

Id van toepassingsobject

De toepassingsobject-id , ook wel de object-id genoemd, is de unieke id van uw Microsoft Entra-toepassingsobject.

Als u de id van het toepassingsobject wilt ophalen, gaat u naar uw Microsoft Entra-app en kopieert u deze vanuit het overzicht.

Schermopname van het venster Azure Portal, waarin de object-id wordt weergegeven op de blade Overzicht van een Microsoft Entra-toepassing.

Principal-object-id

De principal-object-id, ook wel de object-id genoemd, is de unieke id van het service-principal-object dat is gekoppeld aan uw Microsoft Entra-toepassing.

Als u uw principal-object-id wilt ophalen, gaat u naar uw Microsoft Entra-app en selecteert u in het overzicht de app-koppeling in de beheerde toepassing in de lokale map.

Schermopname van het venster Azure Portal, waarin de optie Beheerde toepassing in de lokale map wordt weergegeven op de blade Overzicht van een Microsoft Entra-toepassing.

Kopieer in de sectie Eigenschappen de object-id.

Schermopname van het venster Azure Portal, waarin de principal-object-id wordt weergegeven in de sectie Eigenschappen op de blade Overzicht van een Microsoft Entra-toepassing.

Verificatie

Verificatie is mislukt met AADSTS70002 of AADSTS50053

(AADSTS70002: Fout bij het valideren van referenties. AADSTS50053: U hebt te vaak geprobeerd u aan te melden met een onjuiste gebruikers-id of een onjuist wachtwoord)

Als u power BI Embedded en directe verificatie van Microsoft Entra gebruikt, ontvangt u mogelijk een bericht zoals het vorige bericht wanneer u zich probeert aan te melden, omdat directe verificatie niet is ingeschakeld.

U kunt directe verificatie weer inschakelen met behulp van een Microsoft Entra-beleid dat is gericht op de organisatie of een service-principal.

U wordt aangeraden dit beleid alleen per app in te schakelen.

Als u dit beleid wilt maken, moet u een globale Beheer istrator zijn voor de map waarin u het beleid maakt en toewijst. Hier volgt een voorbeeldscript voor het maken van het beleid en het toewijzen ervan aan de SP voor deze toepassing:

  1. Installeer de Microsoft Graph PowerShell SDK.

  2. Voer de volgende PowerShell-opdrachtregel-per-regel uit (zorg ervoor dat de variabele $sp niet meer dan één toepassing als resultaat heeft).

    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
    

Nadat u het beleid hebt toegewezen, wacht u ongeveer 15-20 seconden voordat u gaat testen.

Het genereren van een token mislukt bij het leveren van een effectieve identiteit

GenerateToken kan mislukken met een effectieve identiteit die om verschillende redenen is opgegeven:

  • Het semantische model biedt geen ondersteuning voor effectieve identiteit.
  • Er is geen gebruikersnaam opgegeven.
  • Er is geen rol opgegeven.
  • DatasetId was niet opgegeven.
  • De gebruiker heeft niet de juiste machtigingen.

Voer de volgende stappen uit om het probleem te achterhalen:

  • Voer de gegevensset ophalen uit. Is de eigenschap IsEffectiveIdentityRequired waar?
  • Gebruikersnaam is vereist voor elke EffectiveIdentity.
  • Als IsEffectiveIdentityRolesRequired waar is, is Rol vereist.
  • DatasetId is vereist voor elke EffectiveIdentity.
  • Voor Analysis Services moet de hoofdgebruiker een gatewaybeheerder zijn.

AADSTS90094: Voor de toestemming zijn beheerdersmachtigingen vereist

Symptomen:

Wanneer een niet-beheerder probeert zich voor het eerst aan te melden bij een toepassing tijdens het verlenen van toestemming, krijgt u een van de volgende fouten:

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

    Schermopname van het aanmeldingsdialoogvenster van Azure Portal, waarin de machtigingsfout Toestemmingstest wordt weergegeven.

Een gebruiker met beheerdersrechten kan zich aanmelden en toestemming verlenen.

Hoofdoorzaak:

Gebruikerstoestemming is uitgeschakeld voor de tenant.

Er zijn verschillende oplossingen mogelijk:

  • Gebruikerstoestemming inschakelen voor de hele tenant (alle gebruikers, alle toepassingen):
  1. Navigeer in De Azure-portal naar Gebruikers- en groepsgebruikersinstellingen> van Microsoft Entra-id.>
  2. Hiermee kunnen gebruikers toestemming geven voor apps die namens hen toegang hebben tot bedrijfsgegevens en de wijzigingen opslaan.

Schermopname van de Azure-portal.

  • Een beheerder kan machtigingen verlenen aan de toepassing: voor de hele tenant of een specifieke gebruiker.

CS1061-fout

Download Microsoft.IdentityModel.Clients.ActiveDirectory als u de volgende fout ondervindt:

'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 voor een andere tenant (gastgebruiker)

Wanneer u inhoud insluit voor uw organisatie, moet u de tenant-id in de authorityUri parameter opgeven om gastgebruikers van Microsoft Entra toegang te geven tot uw inhoud.

  • URL voor verificatie in de tenant van uw organisatie:

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

  • URL voor het verifiëren van een gastgebruiker van Microsoft Entra:

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

Als u uw tenant-id wilt vinden, kunt u de instructies in De tenant-id en de primaire domeinnaam van Microsoft Entra zoeken gebruiken.

Zie Uw toepassing multitenant maken voor meer informatie.

Gegevensbronnen

ISV wil verschillende referenties hebben voor dezelfde gegevensbron

Een gegevensbron kan één set referenties hebben voor één hoofdgebruiker. Als u verschillende referenties wilt gebruiken, maakt u meer hoofdgebruikers. Wijs vervolgens de verschillende referenties toe aan de contexten van de hoofdgebruikers en sluit deze in met behulp van het Microsoft Entra-token van die gebruiker.

Problemen met uw ingesloten toepassing oplossen met het IError-object

Gebruik het IError-object dat wordt geretourneerd door de foutgebeurtenis van de JavaScript SDK om fouten in uw toepassing op te sporen en de oorzaak van uw fouten beter te begrijpen.

Nadat u het IError-object hebt opgehaald, moet u de juiste veelvoorkomende foutentabel bekijken die past bij het insluittype dat u gebruikt. Vergelijk de IError-eigenschappen met de eigenschappen in de tabel en zoek de mogelijke reden(en) voor de fout.

Typische fouten bij het insluiten van inhoud voor Power BI-gebruikers

Bericht Gedetailleerd bericht Foutcode Mogelijke reden(en)
TokenExpired Het toegangstoken is verlopen, opnieuw verzenden met een nieuw toegangstoken 403 Verlopen token
PowerBIEntityNotFound Rapport ophalen is mislukt 404
  • Verkeerde rapport-id
  • Rapport bestaat niet
  • Ongeldige parameters powerbiToken-parameter niet opgegeven N.v.t.
  • Er is geen toegangstoken opgegeven
  • Er is geen rapport-id opgegeven
  • LoadReportFailed Kan het cluster niet initialiseren - kan het cluster niet omzetten 403
  • Ongeldig toegangstoken
  • Het insluittype komt niet overeen met het tokentype
  • PowerBINotAuthorizedException Rapport ophalen is mislukt 401
  • Verkeerde groeps-id
  • Niet-geautoriseerde groep
  • TokenExpired Het toegangstoken is verlopen, opnieuw indienen met een nieuw toegangstoken. Kan een rapportvisual met de titel : visualtitel niet weergeven N.v.t.
  • Query's uitvoeren op gegevens
  • Verlopen token
  • Open Verbinding maken ionError Kan de visual niet weergeven. Kan een rapportvisual met de titel : visualtitel niet weergeven N.v.t. Capaciteit is onderbroken of verwijderd terwijl een rapport met betrekking tot de capaciteit is geopend in een sessie
    ExplorationContainer_FailedToLoadModel_DefaultDetails Kan het modelschema dat aan dit rapport is gekoppeld, niet laden. Zorg ervoor dat u verbinding hebt met de server en probeer het opnieuw. N.v.t.
  • Capaciteit onderbroken
  • Capaciteit verwijderd
  • Veelvoorkomende fouten bij het insluiten van niet-Power BI-gebruikers (met behulp van een insluittoken)

    Bericht Gedetailleerd bericht Foutcode Reden(en)
    TokenExpired Het toegangstoken is verlopen, opnieuw verzenden met een nieuw toegangstoken 403 Verlopen token
    LoadReportFailed Rapport ophalen is mislukt 404
  • Verkeerde rapport-id
  • Rapport bestaat niet
  • LoadReportFailed Rapport ophalen is mislukt 403 Rapport-id komt niet overeen met het token
    LoadReportFailed Rapport ophalen is mislukt 500 De opgegeven id van het rapport is geen GUID
    Ongeldige parameters powerbiToken-parameter niet opgegeven N.v.t.
  • Er is geen toegangstoken opgegeven
  • Er is geen rapport-id opgegeven
  • LoadReportFailed Kan het cluster niet initialiseren - kan het cluster niet omzetten 403 Onjuist tokentype of onjuist token
    PowerBINotAuthorizedException Rapport ophalen is mislukt 401 Verkeerde/niet-geautoriseerde groeps-id
    TokenExpired Het toegangstoken is verlopen, opnieuw indienen met een nieuw toegangstoken. Kan een rapportvisual met de titel : visualtitel niet weergeven N.v.t.
  • Query's uitvoeren op gegevens
  • Verlopen token
  • Open Verbinding maken ionError Kan de visual niet weergeven. Kan een rapportvisual met de titel : visualtitel niet weergeven N.v.t. Capaciteit is onderbroken of verwijderd terwijl een rapport met betrekking tot de capaciteit is geopend in een sessie
    ExplorationContainer_FailedToLoadModel_DefaultDetails Kan het modelschema dat aan dit rapport is gekoppeld, niet laden. Zorg ervoor dat u verbinding hebt met de server en probeer het opnieuw. N.v.t.
  • Capaciteit onderbroken
  • Capaciteit verwijderd
  • Rapport ophalen mislukt - fout 401 - zichzelf oplossen

    In het gegevensscenario waarin de gebruiker eigenaar is, krijgen gebruikers soms een 401-fout die zichzelf oplost nadat ze toegang hebben tot de Power BI-portal. Wanneer de fout 401 optreedt, voegt u de aanroep RefreshUser Permissions toe in de app, zoals wordt uitgelegd in Gebruikersmachtigingen bijwerken.

    Semantische modellen

    Beheren welk gedeelte van de gegevens uw gebruikers kunnen zien

    Elke gebruiker met leesmachtigingen voor een semantisch model kan het hele schema (tabellen, kolommen en metingen) en alle gegevens zien. U kunt geen weergavemachtigingen voor onbewerkte en geaggregeerde gegevens afzonderlijk beheren in hetzelfde semantische model.

    Gebruik een van de volgende methoden om te beheren welk gedeelte van de gegevens uw gebruikers kunnen bekijken:

    • Filteren op rijniveau met behulp van Beveiliging op rijniveau (RLS) van Power BI.

    • Beveiliging op objectniveau (OLS).

    • Scheid de gegevens in verschillende semantische modellen. U kunt bijvoorbeeld een semantisch model maken dat alleen geaggregeerde gegevens bevat en uw gebruikers alleen toegang geven tot dat semantische model.

    Inhoudsweergave

    Bekijk deze sectie om renderingproblemen in ingesloten Power BI-items (zoals rapporten en dashboards) op te lossen.

    Controleer of het Power BI-item in Power BI-service wordt geladen

    Als u problemen met uw toepassing of de insluit-API's wilt uitsluiten, controleert u of het item kan worden weergegeven in de Power BI-service (powerbi.com).

    Controleer of het Power BI-item wordt geladen in de ingesloten analytics-speeltuin van Power BI

    Als u problemen met uw toepassing wilt uitsluiten, controleert u of het Power BI-item kan worden weergegeven in de speeltuin voor ingesloten analyses in Power BI.

    Controleer of uw toegangstoken niet is verlopen

    Voor beveiligingsdoeleinden hebben toegangstokens (een Microsoft Entra-token of een insluittoken) een beperkte levensduur. U moet uw toegangstoken voortdurend bewaken en indien nodig vernieuwen. Zie Het toegangstoken vernieuwen voor meer informatie.

    Prestaties

    Als u de best presterende ingesloten inhoud wilt krijgen, raden we u aan de aanbevolen procedures voor ingesloten analyses in Power BI te volgen.

    Installatieprogramma voor insluiten

    U kunt het installatieprogramma voor insluiten doorlopen om snel een voorbeeldtoepassing te downloaden. Vervolgens kunt u uw toepassing vergelijken met het voorbeeld.

    Vereisten

    Controleer of u aan alle juiste vereisten voldoet voordat u het installatieprogramma voor insluiten gebruikt. U hebt een Power BI Pro-account en een Microsoft Azure-abonnement nodig.

    Algemene problemen

    Enkele veelvoorkomende problemen die kunnen optreden tijdens het testen met het installatieprogramma Voor insluiten zijn:

    De voorbeeldtoepassing Insluiten gebruiken voor uw klanten

    Als u met embed werkt voor uw klanten , slaat u het PowerBI-Developer-Samples.zip bestand op en pakt u het uit. Open vervolgens de map PowerBI-Developer-Samples-master\App is eigenaar van gegevens en voer het PowerBIEmbedded_AppOwnsData.sln-bestand uit.

    • Wanneer u Machtigingen verlenen selecteert (de stap Machtigingen verlenen ), krijgt u de volgende fout:
    AADSTS70001: Application with identifier <client ID> wasn't found in the directory <directory ID>
    

    De oplossing is om de pop-up te sluiten, een paar seconden te wachten en het opnieuw te proberen. Mogelijk moet u deze actie een paar keer herhalen. Een tijdsinterval zorgt ervoor dat het probleem het registratieproces van de toepassing voltooit tot wanneer het beschikbaar is voor externe API's.

    • Het volgende foutbericht wordt weergegeven bij het uitvoeren van de voorbeeld-app:
    Password is empty. Please fill password of Power BI username in web.config.
    

    Deze fout treedt op omdat de enige waarde die niet wordt geïnjecteerd in de voorbeeldtoepassing uw gebruikerswachtwoord is. Open het bestand Web.config in de oplossing en vul het veld in met het pbiPassword wachtwoord van uw gebruiker.

    • Als u de volgende fout krijgt:
    AADSTS50079: The user is required to use multi-factor authentication.
    

    U moet een Microsoft Entra-account gebruiken waarvoor MFA niet is ingeschakeld.

    Insluiten gebruiken voor de voorbeeldtoepassing van uw organisatie

    Als u met de ervaring Insluiten voor uw organisatie werkt, slaat u het PowerBI-Developer-Samples.zip bestand op en pakt u het uit. Open vervolgens de map PowerBI-Developer-Samples-master\User Owns Data\integrate-report-web-app en voer het pbi-saas-embed-report.sln-bestand uit.

    • Wanneer u de voorbeeld-app Insluiten voor uw organisatie uitvoert, krijgt u de volgende fout:
    AADSTS50011: The reply URL specified in the request doesn't match the reply URLs configured for the application: <client ID>
    

    Deze fout komt doordat de omleidings-URL die is opgegeven voor de webservertoepassing verschilt van de URL van het voorbeeld. Als u de voorbeeldtoepassing wilt registreren, gebruikt https://localhost:13526/ u deze als omleidings-URL.

    Als u de geregistreerde toepassing wilt bewerken, werkt u de geregistreerde Microsoft Entra-toepassing bij, zodat de toepassing toegang kan bieden tot de web-API's.

    Als u uw Power BI-gebruikersprofiel of -gegevens wilt bewerken, leert u hoe u uw Power BI-gegevens bewerkt.

    • Als u de volgende fout krijgt:
    AADSTS50079: The user is required to use multi-factor authentication.
    

    U moet een Microsoft Entra-account gebruiken waarvoor MFA niet is ingeschakeld.

    Zie de veelgestelde vragen over Power BI Embedded voor meer informatie.

    Neem voor meer hulp contact op met ondersteuning of maak een ondersteuningsticket via Azure Portal en geef de foutberichten op die u tegenkomt.

    Meer vragen? Vraag het Power BI-community