ใช้ 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) ในโหมดการเชื่อมต่อสด