Bagikan melalui


Menggunakan SDK Power BI dengan profil perwakilan layanan

Artikel ini menjelaskan cara menggunakan SDK dengan profil perwakilan layanan. Ada dua cara untuk menghubungkan klien Power BI ke profil perwakilan layanan. Anda dapat:

Setelah klien dikaitkan dengan profil, Anda dapat memperoleh profil perwakilan layanan saat ini dari klien Power BI.

Membuat klien Power BI dengan profil perwakilan layanan

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

Saat Anda membuat klien Power BI dengan ID objek profil, setiap panggilan API yang menggunakan klien memiliki X-PowerBI-profile-id di header permintaan.

Contohnya:

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

Mengatur profil pada panggilan permintaan API

Atau, Anda dapat menentukan ID profil dalam permintaan API dengan menggunakan customHeaders properti dalam metode WithHttpMessagesAsyncPowerBIClient API yang kelebihan beban .

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

Contohnya,

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 

Dalam sampel kode sebelumnya, header profil bukan bagian dari header default klien, karena kode tidak menambahkan header profil. Anda perlu menentukan header profil dengan setiap permintaan API.

Pastikan Anda menghindari duplikasi. Misalnya, membuat klien dengan ID objek profil lalu menentukan header dengan permintaan API menghasilkan kesalahan yang tidak sah.

Mendapatkan profil perwakilan layanan saat ini dari klien Power BI

Untuk mengambil profil perwakilan layanan saat ini dari klien SDK, panggil GetServicePrincipalProfileObjectId.

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

Pertimbangan dan batasan

Tidak ada dukungan untuk profil perwakilan layanan dengan Azure Analysis Services (AAS) dalam mode koneksi langsung.

Profil perwakilan layanan di Power BI Embedded