Del via


Bruk Power BI SDK med tjenestekontohaverprofiler

Denne artikkelen forklarer hvordan du bruker SDK med tjenestekontohaverprofiler. Det finnes to måter å koble en Power BI-klient til en tjenestekontohaverprofil på. Du kan gjøre følgende:

Når klienten er knyttet til en profil, kan du få den gjeldende tjenestekontohaverprofilen fra Power BI-klienten.

Opprette en Power BI-klient med en tjenestekontohaverprofil

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

Når du oppretter en Power BI-klient med profilobjekt-ID-en, har X-PowerBI-profile-id alle API-kall som bruker klienten, i forespørselshodet.

Eksempel:

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

Angi profil på API-forespørselssamtale

Alternativt kan du angi profil-ID-en i API-forespørselen ved hjelp customHeaders av egenskapen i API-ens overbelastede PowerBIClient-metode WithHttpMessagesAsync.

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

Eksempel:

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 

I det forrige kodeeksempelet er ikke profilhodet en del av standardoverskriftene for klienten, fordi koden ikke legger til profilhodet. Du må angi profilhodet for hver API-forespørsel.

Pass på at du unngår dupliseringer. Hvis du for eksempel oppretter en klient med en profilobjekt-ID og deretter angir toppteksten med API-forespørselen, resulterer i uautoriserte feil.

Få gjeldende tjenestekontohaverprofil fra Power BI-klienten

Hvis du vil hente gjeldende tjenestekontohaverprofil fra SDK-klienten, ringer du .GetServicePrincipalProfileObjectId

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

Hensyn og begrensninger

Det finnes ingen støtte for tjenestekontohaverprofiler med Azure Analysis Services (AAS) i live-tilkoblingsmodus.

Tjenestekontohaverprofiler i Power BI Embedded