Dela via


Använda Power BI SDK med profiler för tjänstens huvudnamn

Den här artikeln beskriver hur du använder SDK:et med profiler för tjänstens huvudnamn. Det finns två sätt att ansluta en Power BI-klient till en profil för tjänstens huvudnamn. Du kan:

När klienten är associerad med en profil kan du hämta den aktuella tjänstens huvudnamnsprofil från Power BI-klienten.

Skapa en Power BI-klient med en profil för tjänstens huvudnamn

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

När du skapar en Power BI-klient med profilobjekt-ID:t har X-PowerBI-profile-id varje API-anrop som använder klienten i begärandehuvudet.

Till exempel:

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

Ange profil för API-begärandeanrop

Du kan också ange profil-ID:t i API-begäran med hjälp customHeaders av egenskapen i API:ets överlagrade PowerBIClient-metod 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); 

Exempel:

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 föregående kodexempel är profilrubriken inte en del av klientens standardhuvuden, eftersom koden inte lägger till profilrubriken. Du måste ange profilrubriken för varje API-begäran.

Se till att du undviker dupliceringar. Om du till exempel skapar en klient med ett profilobjekt-ID och sedan anger huvudet med API-begäran resulterar det i obehöriga fel.

Hämta den aktuella profilen för tjänstens huvudnamn från Power BI-klienten

Om du vill hämta den aktuella profilen för tjänstens huvudnamn från SDK-klienten anropar du GetServicePrincipalProfileObjectId.

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

Beaktanden och begränsningar

Det finns inget stöd för tjänsthuvudnamnsprofiler med Azure Analysis Services (AAS) i liveanslutningsläge.

Profiler för tjänstens huvudnamn i Power BI Embedded