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.
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.
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.
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.
Kopieer in de sectie Eigenschappen de object-id.
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:
Installeer de Microsoft Graph PowerShell SDK.
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 elkeEffectiveIdentity
.- 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.
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):
- Navigeer in De Azure-portal naar Gebruikers- en groepsgebruikersinstellingen> van Microsoft Entra-id.>
- Hiermee kunnen gebruikers toestemming geven voor apps die namens hen toegang hebben tot bedrijfsgegevens en de wijzigingen opslaan.
- 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 | |
Ongeldige parameters | powerbiToken-parameter niet opgegeven | N.v.t. | |
LoadReportFailed | Kan het cluster niet initialiseren - kan het cluster niet omzetten | 403 | |
PowerBINotAuthorizedException | Rapport ophalen is mislukt | 401 | |
TokenExpired | Het toegangstoken is verlopen, opnieuw indienen met een nieuw toegangstoken. Kan een rapportvisual met de titel : visualtitel niet weergeven | N.v.t. | |
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. |
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 | |
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. | |
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. | |
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. |
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.
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.
- Als u zich niet hebt geregistreerd voor Power BI Pro, meldt u zich aan voor een gratis proefversie voordat u begint.
- Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.
- U moet uw eigen Microsoft Entra-tenant instellen.
- Visual Studio moet zijn geïnstalleerd (versie 2013 of hoger).
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.
Gerelateerde inhoud
Veelgestelde vragen over Power BI Embedded
Meer vragen? Vraag het Power BI-community