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.