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.
Hulpmiddelen voor probleemoplossing
Fiddler Trace
Fiddler- is een gratis hulpprogramma van Telerik waarmee HTTP-verkeer wordt bewaakt. U kunt het verkeer met de Power BI-API's vanaf de clientcomputer zien. 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 vermeld ziet staan in de API-lijst, is er geen gebruiker aangemeld 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 met de naam object-id. In deze sectie wordt het doel van elke parameter uitgelegd en hoe u deze kunt verkrijgen.
Id van toepassingsobject
Het toepassingsobject-id, ook wel bekend als de object-id, 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 de Overview.
Principaalobject-ID
De principal-object-id, ook wel bekend als de object-id, is de unieke id van het service-principal-object 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 de Overzichtde app-koppeling in Beheerde toepassing in de lokale map.
Kopieer in de sectie Eigenschappen de Object-ID.
Authenticatie
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.
Om dit beleid te maken, moet u een Global Administrator zijn voor de directory 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 voor de verspreiding voordat u met testen begint.
Het genereren van een token mislukt bij het verstrekken van een geldige identiteit.
GenerateToken
kan bij een opgegeven effectieve identiteit om een paar verschillende redenen mislukken.
- Het semantische model biedt geen ondersteuning voor effectieve identiteit.
- Er is geen gebruikersnaam opgegeven.
- Er is geen rol opgegeven.
-
DatasetId
is niet opgegeven. - De gebruiker heeft niet de juiste machtigingen.
Voer de volgende stappen uit om het probleem te achterhalen:
- Voer uit en verkrijg dataset. 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 toekenning is beheerdersmachtiging 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 Azure Portal naar Microsoft Entra-id>Gebruikers en groepen>Gebruikersinstellingen.
- Schakel de instelling Gebruikers kunnen toestemming geven aan apps om namens hen toegang te krijgen tot bedrijfsgegevens in en sla de wijzigingen op.
- Een beheerder kan machtigingen verlenen aan de toepassing: voor de hele tenant of een specifieke gebruiker.
CS1061-fout
Download Microsoft.IdentityModel.Clients.ActiveDirectory als de volgende fout optreedt:
'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 insluit voor uw organisatie, moet u de tenant-id opgeven in de parameter authorityUri
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 Microsoft Entra-tenant-id en de primaire domeinnaam vindengebruiken.
Zie Uw toepassing multitenant makenvoor meer informatie.
Gegevensbronnen
ISV wil verschillende referenties hebben voor dezelfde gegevensbron
Een gegevensbron kan één set referenties hebben voor één hoofdgebruiker. Als u verschillende inloggegevens wilt gebruiken, maakt u meer hoofdgebruikers aan. 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) |
---|---|---|---|
Token Verlopen | 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 | |
RapportLadenMislukt | Kan niet initialiseren - Kan het cluster niet oplossen | 403 | |
PowerBINotAuthorizedException | Rapport ophalen is mislukt | 401 | |
Token Verlopen | Het toegangstoken is verlopen, opnieuw indienen met een nieuw toegangstoken. Kan een rapportvisual met de titel niet weergeven: titel van de visual | N.V.T. | |
OpenConnectionError | Kan de visual niet weergeven. Kan een rapportvisual met de titel niet weergeven: titel van de visual | N.V.T | Capaciteit onderbroken of verwijderd terwijl een rapport gerelateerd aan de capaciteit was 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 | Mogelijke reden(en) |
---|---|---|---|
TokenVerlopen | Het toegangstoken is verlopen, opnieuw verzenden met een nieuw toegangstoken | 403 | Verlopen token |
RapportLadenMislukt | Rapport verkrijgen mislukt | 404 | |
LadenVanRapportMislukt | Rapport aanmaken is mislukt | 403 | Rapport-id komt niet overeen met het token |
Rapport laden mislukt | Rapport ophalen mislukt | 500 | Het rapport bevat een opgegeven id die geen Globally Unique Identifier (GUID) is. |
Ongeldige parameters | powerbiToken-parameter niet opgegeven | N.V.T | |
LadenRapportMislukt | Fout bij initialiseren - Kan het cluster niet oplossen | 403 | Onjuist tokentype of ongeldig token |
PowerBINotAuthorizedException | Rapport ophalen is mislukt | 401 | Verkeerde/niet-geautoriseerde groeps-id |
Token Verlopen | Het toegangstoken is verlopen, opnieuw indienen met een nieuw toegangstoken. Kan een rapportvisual met de titel niet weergeven: titel van de visual | N.V.T | |
OpenConnectionError | Kan de visual niet weergeven. Kan een rapportvisual met de titel niet weergeven: titel van de visual | N.V.T | Capaciteit werd gepauzeerd of verwijderd terwijl een bijbehorend rapport in een sessie werd geopend. |
VerkenningContainer_ModelLadenMislukt_StandaardDetails | 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 gebruiker eigenaar is van gegevens scenario, krijgen gebruikers soms een 401-fout die zichzelf oplost nadat ze toegang hebben tot de Power BI-portal. Wanneer de 401-fout optreedt, voegt u de RefreshUser-machtigingen toe aanroep 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 power BI beveiliging op rijniveau (RLS).
OLS-(Object Level Security).
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.
Controleren of het Power BI-item wordt geladen in de Power BI-service
Als u problemen met uw toepassing of de insluit-API'swilt 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, controleer dan of het Power BI-item kan worden weergegeven in de embedded analytics speeltuin van 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. Voor meer informatie, zie Vernieuw het toegangstoken.
Prestatie
Als u de best presterende ingesloten inhoud wilt krijgen, raden we u aan de best practices voor ingesloten analyses van Power BI te volgen.
Verwante inhoud
veelgestelde vragen over Power BI Embedded
Meer vragen? vraag het de Power BI-community