다음을 통해 공유


Fabric API 빠른 시작

소개

다른 많은 Microsoft 서비스와 마찬가지로 Fabric API를 사용하려면 먼저 Fabric 서비스에 대한 Microsoft Entra 토큰을 가져오고 API 호출의 권한 부여 헤더에서 해당 토큰을 사용해야 합니다.

이 빠른 시작 자습서에서는 MSAL.Net 라이브러리를 사용하여 Entra ID 토큰을 획득한 다음 C# HttpClient를 사용하여 목록 작업 영역 API를 호출하는 C# 콘솔 앱을 만듭니다.

앱 등록 만들기

Microsoft Entra 토큰을 가져오려면 먼저 Microsoft Entra ID를 사용하여 애플리케이션을 등록해야 합니다.

애플리케이션 및 애플리케이션의 다양한 속성을 등록하는 방법과 애플리케이션을 시나리오에 적용할 수 있는 방법에 대한 자세한 내용은 Microsoft ID 플랫폼에서 앱 등록을 참조하세요.

이 빠른 시작 튜토리얼에서는 리디렉션 URI = http://localhost 인 공용 클라이언트를 만듭니다.

  1. 적어도 클라우드 애플리케이션 관리자로서 Microsoft Entra 관리 센터에 로그인하세요.

  2. 애플리케이션 > 앱 등록으로 이동합니다.

  3. 새 등록을 클릭합니다.

  4. 애플리케이션의 표시 이름을 입력하고 공용 클라이언트 리디렉션 URI를 추가합니다. http://localhost

    앱 등록의 형태를 보여 주는 스크린샷.

  5. 등록을 선택합니다.

  6. 애플리케이션(클라이언트) ID를 복사하여 나중에 사용할 메모장에 붙여넣습니다.

Azure 등록 후 앱을 보여 주는 스크린샷.

토큰 가져오기

이 자습서에서는 MSAL.Net 사용하여 Workspace.ReadWrite.All, Item.ReadWrite.All 범위를 사용하여 Fabric 서비스에 대한 Entra ID 토큰을 획득합니다.

MSAL.Net을 사용하여 토큰을 획득하는 방법에 대한 자세한 내용은 토큰 획득 - .NET용 Microsoft 인증 라이브러리를 참조하세요.

이전에 복사한 애플리케이션(클라이언트) ID를 붙여넣고 ClientId 변수에 붙여넣습니다.

Microsoft Entra 액세스 토큰을 획득하기 위한 C# 코드 샘플

#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. 클라이언트의 기본 URL로 추가 https://api.fabric.microsoft.com/v1/ 합니다.
  3. 목록 작업 영역 API를 호출하고 콘솔에 응답을 씁니다.

http 클라이언트를 만들고 List Workspaces API를 호출하는 C# 코드 샘플

// 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