แชร์ผ่าน


การเริ่มต้นใช้งานด่วน API ผ้า

บทนำ

เพื่อทํางานกับ Fabric API เช่นเดียวกับบริการอื่น ๆ ของ Microsoft ก่อนอื่นคุณต้องได้รับโทเค็น Microsoft Entra สําหรับบริการ Fabric จากนั้นใช้โทเค็นนั้นในส่วนหัวการรับรองความถูกต้องของการเรียกใช้ API

ในบทช่วยสอนเริ่มต้นใช้งานด่วนนี้ คุณจะสร้างแอปคอนโซล C# ซึ่งจะรับโทเค็น Entra ID โดยใช้ไลบรารี MSAL.Net จากนั้นใช้ C# HttpClient เพื่อเรียก List workspaces API

สร้างการลงทะเบียนแอป

เพื่อรับโทเค็น Microsoft Entra ก่อนอื่นคุณต้องลงทะเบียนแอปพลิเคชันด้วย Microsoft Entra ID

เมื่อต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการลงทะเบียนแอปพลิเคชันและคุณสมบัติที่แตกต่างกันของแอปพลิเคชัน และวิธีการที่อาจสามารถใช้ได้กับสถานการณ์ของคุณ ดูลงทะเบียนแอปในแพลตฟอร์มข้อมูลประจําตัวของ Microsoft

ในบทช่วยสอนเริ่มต้นใช้งานด่วน คุณจะสร้างไคลเอ็นต์สาธารณะที่มีการเปลี่ยนเส้นทาง URI = http://localhost

  1. ลงชื่อเข้าใช้ศูนย์การจัดการ Microsoft Entra เป็นผู้ดูแลระบบแอปพลิเคชันระบบคลาวด์ อย่างน้อย

  2. เรียกดู การลงทะเบียนแอปแอปพลิเคชัน>

  3. คลิกที่ลงทะเบียนใหม่

  4. ป้อนชื่อที่แสดงสําหรับแอปพลิเคชันของคุณ และเพิ่ม URI การเปลี่ยนเส้นทางไคลเอ็นต์สาธารณะ http://localhost

    สกรีนช็อตที่แสดงรูปแบบการลงทะเบียนแอป

  5. เลือก ลงทะเบียน

  6. คัดลอก ID แอปพลิเคชัน (ไคลเอ็นต์) และวางใน Notepad ที่จะใช้ในภายหลัง

สกรีนช็อตที่แสดงแอปในการลงทะเบียนโพสต์ azure

รับโทเค็น

ในบทช่วยสอนนี้ คุณจะใช้ MSAL.Net เพื่อรับโทเค็น Entra ID สําหรับบริการ Fabric ด้วยขอบเขตต่อไปนี้: Workspace.ReadWrite.All, Item.ReadWrite.All

สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการรับโทเค็นที่มี MSAL.Net ดู Token Acquisition - ไลบรารีการรับรองความถูกต้องของ Microsoft สําหรับ .NET

วาง ID แอปพลิเคชัน (ไคลเอนต์) ที่คุณคัดลอกก่อนหน้านี้และวางสําหรับตัวแปร ClientId

ตัวอย่างรหัส C# สําหรับการขอรับโทเค็นการเข้าถึง Microsoft Entra

#region parameters section 
string ClientId = "YourApplicationId"; 
string Authority = "https://login.microsoftonline.com/organizations"; 
string RedirectURI = "http://localhost"; 
#endregion 

#region Acquire a token for Fabric APIs 
// In this sample we acquire a token for Fabric service with the scopes  
// Workspace.ReadWrite.All and Item.ReadWrite.All 
string[] scopes = new string[] { "https://api.fabric.microsoft.com/Workspace.ReadWrite.All https://api.fabric.microsoft.com/Item.ReadWrite.All" }; 

PublicClientApplicationBuilder PublicClientAppBuilder = 
        PublicClientApplicationBuilder.Create(ClientId) 
        .WithAuthority(Authority) 
        .WithRedirectUri(RedirectURI); 

IPublicClientApplication PublicClientApplication = PublicClientAppBuilder.Build(); 

AuthenticationResult result = await PublicClientApplication.AcquireTokenInteractive(scopes) 
        .ExecuteAsync() 
        .ConfigureAwait(false); 

Console.WriteLine(result.AccessToken); 
#endregion 

API พื้นที่ทํางานรายการโทร

ในส่วนนี้ คุณจะต้อง:

  1. สร้าง C# HttpClient ด้วยโทเค็นที่เราได้รับในส่วนก่อนหน้า
  2. เพิ่ม https://api.fabric.microsoft.com/v1/ เป็น URL พื้นฐานสําหรับไคลเอ็นต์
  3. เรียก API พื้นที่ทํางานรายการและเขียนการตอบสนองไปยังคอนโซล

ตัวอย่างรหัส C# ของการสร้างไคลเอ็นต์ http และเรียก List Workspaces API

// Create client 
HttpClient client = new HttpClient(); 
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", result.AccessToken); 
string baseUrl = "https://api.fabric.microsoft.com/v1/"; 
client.BaseAddress = new Uri(baseUrl); 

// Call list workspaces API 
HttpResponseMessage response = await client.GetAsync("workspaces"); 
string responseBody = await response.Content.ReadAsStringAsync(); 
Console.WriteLine(responseBody); 

ตัวอย่างรหัสแอปคอนโซล C# แบบเต็ม

using Microsoft.Identity.Client; 
using System.Net.Http.Headers; 

#region parameters section 
string ClientId = "YourApplicationId";  
string Authority = "https://login.microsoftonline.com/organizations"; 
string RedirectURI = "http://localhost";  
#endregion 

#region Acquire a token for Fabric APIs 
// In this sample we acquire a token for Fabric service with the scopes Workspace.ReadWrite.All and Item.ReadWrite.All 
string[] scopes = new string[] { "https://api.fabric.microsoft.com/Workspace.ReadWrite.All https://api.fabric.microsoft.com/Item.ReadWrite.All" }; 

PublicClientApplicationBuilder PublicClientAppBuilder = 
        PublicClientApplicationBuilder.Create(ClientId) 
        .WithAuthority(Authority) 
        .WithRedirectUri(RedirectURI); 

IPublicClientApplication PublicClientApplication = PublicClientAppBuilder.Build(); 

AuthenticationResult result = await PublicClientApplication.AcquireTokenInteractive(scopes) 
        .ExecuteAsync() 
        .ConfigureAwait(false); 

Console.WriteLine(result.AccessToken); 
#endregion 

#region Create an HTTP client and call the Fabric APIs 
// Create client 
HttpClient client = new HttpClient(); 
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", result.AccessToken); 
string baseUrl = "https://api.fabric.microsoft.com/v1/"; 
client.BaseAddress = new Uri(baseUrl); 

// Call list workspaces API 
HttpResponseMessage response = await client.GetAsync("workspaces"); 
string responseBody = await response.Content.ReadAsStringAsync(); 
Console.WriteLine(responseBody); 
#endregion