แชร์ผ่าน


ใช้ Power BI SDK กับโปรไฟล์บริการหลัก

บทความนี้อธิบายวิธีการใช้ SDK กับ โปรไฟล์บริการหลัก มีสองวิธีในการเชื่อมต่อไคลเอ็นต์ Power BI กับโปรไฟล์บริการหลัก คุณสามารถ:

เมื่อไคลเอ็นต์เชื่อมโยงกับโปรไฟล์ คุณสามารถ รับโปรไฟล์บริการหลักปัจจุบันจากไคลเอ็นต์ Power BI ได้

สร้างไคลเอ็นต์ Power BI ด้วยโปรไฟล์บริการหลัก

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

เมื่อคุณสร้าง Power BI Client ด้วย ID ออบเจ็กต์โปรไฟล์ การเรียกใช้ API ทุกครั้งที่ใช้ไคลเอ็นต์จะมี X-PowerBI-profile-id ในส่วนหัวของคําขอ

ตัวอย่างเช่น:

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

ตั้งค่าโปรไฟล์ในการเรียกใช้คําขอ API

อีกวิธีหนึ่งคือ คุณสามารถระบุรหัสโปรไฟล์ในคําขอ API โดยใช้customHeadersคุณสมบัติในของ API โอเวอร์โหลด PowerBIClient เมธอด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); 

ตัวอย่างเช่น

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 

ในตัวอย่างโค้ดก่อนหน้านี้ ส่วนหัว ของโปรไฟล์ไม่ใช่ ส่วนหนึ่งของส่วนหัวเริ่มต้นของไคลเอ็นต์ เนื่องจากโค้ดไม่ได้เพิ่มส่วนหัวของโปรไฟล์ คุณจําเป็นต้องระบุส่วนหัวของโปรไฟล์ที่มีคําขอ API ทั้งหมด

ตรวจสอบให้แน่ใจว่าคุณหลีกเลี่ยงการทําซ้ํา ตัวอย่างเช่น การสร้างไคลเอ็นต์ที่มี ID ออปเจ็กต์โปรไฟล์จากนั้นระบุส่วนหัวที่มีผลลัพธ์คําขอ API ในข้อผิดพลาดที่ไม่ได้รับอนุญาต

รับโปรไฟล์บริการหลักปัจจุบันจากไคลเอ็นต์ Power BI

เมื่อต้องการเรียกใช้โปรไฟล์บริการหลักปัจจุบันจากไคลเอ็นต์ SDK ให้เรียกใช้GetServicePrincipalProfileObjectId

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

ข้อควรพิจารณาและข้อจำกัด

ไม่มีการสนับสนุนสําหรับโปรไฟล์บริการหลักด้วย Azure Analysis Services (AAS) ในโหมดการเชื่อมต่อสด

โปรไฟล์บริการหลักใน Power BI Embedded