Delen via


De Power BI SDK gebruiken met service-principal-profielen

In dit artikel wordt uitgelegd hoe u de SDK gebruikt met service-principal-profielen. Er zijn twee manieren om een Power BI-client te verbinden met een service-principalprofiel. U kunt:

Zodra de client is gekoppeld aan een profiel, kunt u het huidige profiel van de service-principal ophalen uit de Power BI-client.

Een Power BI-client maken met een service-principal-profiel

var profileObjectId = new Guid("81f24a6d-7ebb-4478-99c7-2c36f7870a26"); 
var powerBIclient = new PowerBIClient(credentials, profileObjectId: profileObjectId);

Wanneer u een Power BI-client maakt met de profielobject-id, heeft elke API-aanroep die gebruikmaakt van de client de X-PowerBI-profile-id aanvraagheader.

Bijvoorbeeld:

GET https://powerbiapi.analysis-df.windows.net/v1.0/myorg/groups


Authorization: Bearer eyJ0eXAiO.....5U_g
X-PowerBI-profile-id: 81f24a6d-7ebb-4478-99c7-2c36f7870a26

Profiel instellen bij api-aanvraagoproep

U kunt ook de profiel-id in de API-aanvraag opgeven met behulp van de customHeaders eigenschap in de overbelaste PowerBIClient-methode WithHttpMessagesAsyncvan de API.

var powerBIclient = new PowerBIClient(credentials); 
var profileHeader = new Dictionary<string, List<string>>(); 
profileHeader.Add("X-PowerBI-profile-id", new List<string> { "81f24a6d-7ebb-4478-99c7-2c36f7870a26" }); 
var groups = await powerBIclient.Groups.GetGroupsWithHttpMessagesAsync(customHeaders: profileHeader); 

Bijvoorbeeld:

GET https://powerbiapi.analysis-df.windows.net/v1.0/myorg/groups 

Authorization: Bearer eyJ0eXAiO.....5U_g 
X-PowerBI-profile-id: 81f24a6d-7ebb-4478-99c7-2c36f7870a26 

In het voorgaande codevoorbeeld maakt de profielheader geen deel uit van de standaardkopteksten van de client, omdat de code de profielheader niet toevoegt. U moet de profielheader opgeven bij elke API-aanvraag.

Zorg ervoor dat u duplicaties vermijdt. Het maken van een client met een profielobject-id en vervolgens het opgeven van de header met de API-aanvraag resulteert in niet-geautoriseerde fouten.

Het huidige service-principalprofiel ophalen uit de Power BI-client

Als u het huidige service-principalprofiel van de SDK-client wilt ophalen, roept u het aan GetServicePrincipalProfileObjectId.

var profileObjectId = new Guid("81f24a6d-7ebb-4478-99c7-2c36f7870a26"); 
var powerBIclient = new PowerBIClient(credentials, profileObjectId: profileObjectId); 
var currentProfileObjectId = powerBIclient.GetServicePrincipalProfileObjectId(); 

Overwegingen en beperkingen

Er is geen ondersteuning voor service-principal-profielen met Azure Analysis Services (AAS) in de liveverbindingsmodus.

Service-principalprofielen in Power BI Embedded