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.