Sdílet prostřednictvím


Návod na rychlý začátek s Fabric API

Úvod

Pokud chcete pracovat s rozhraními API fabric, stejně jako s mnoha dalšími službami Microsoftu, musíte nejprve získat token Microsoft Entra pro službu Fabric a pak tento token použít v autorizační hlavičce volání rozhraní API.

V tomto kurzu rychlého startu vytvoříte konzolovou aplikaci jazyka C#, která získá token ID Entra pomocí knihovny MSAL.Net a pak pomocí C# HttpClient zavolá rozhraní API pro seznam pracovních prostorů.

Vytvoření registrace aplikace

Pokud chcete získat token Microsoft Entra, musíte nejprve zaregistrovat aplikaci s ID Microsoft Entra.

Další informace o registraci aplikace a různých vlastnostech aplikace a o tom, jak může být použitelná pro váš scénář, najdete v tématu Registrace aplikace na platformě Microsoft Identity Platform.

V tomto kurzu rychlého startu vytvoříte veřejného klienta s přesměrovací URI = http://localhost

  1. Přihlaste se do centra pro správu Microsoft Entra alespoň jako správce cloudových aplikací.

  2. Procházejte k Aplikace > Registrace aplikací.

  3. Klikněte na Nová registrace.

  4. Zadejte zobrazovaný název pro vaši aplikaci a přidejte identifikátor URI přesměrování veřejného klienta. http://localhost

    Snímek obrazovky znázorňující formulář registrace aplikace

  5. Vyberte Zaregistrovat.

  6. Zkopírujte ID aplikace (klienta) a vložte ho do poznámkového bloku, který se použije později.

Snímek obrazovky znázorňující aplikaci v azure po registraci

Získání tokenu

V tomto kurzu použijete MSAL.Net k získání tokenu ID Entra pro službu Fabric s následujícími obory: Workspace.ReadWrite.All, Item.ReadWrite.All.

Další informace o získávání tokenů pomocí MSAL.Net naleznete v tématu Získání tokenu – Microsoft Authentication Library pro .NET.

Vložte ID aplikace (klienta), které jste zkopírovali dříve, a vložte ho pro proměnnou ClientId.

Ukázka kódu jazyka C# pro získání přístupového tokenu 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 

Rozhraní API pracovních prostor seznamu telefonních hovorů

V této části:

  1. Vytvořte httpclient jazyka C# s tokenem, který jsme získali v předchozí části.
  2. Přidejte https://api.fabric.microsoft.com/v1/ jako základní adresu URL klienta.
  3. Volání API pracovních prostorů pro seznam a zápis odpovědi do konzoly.

Ukázka kódu jazyka C# při vytváření klienta HTTP a volání rozhraní API pro seznam pracovních prostorů

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

Ukázka celého kódu konzolové aplikace v 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