Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Ú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
Přihlaste se do centra pro správu Microsoft Entra alespoň jako správce cloudových aplikací.
Procházejte k Aplikace > Registrace aplikací.
Klikněte na Nová registrace.
Zadejte zobrazovaný název pro vaši aplikaci a přidejte identifikátor URI přesměrování veřejného klienta.
http://localhost
Vyberte Zaregistrovat.
Zkopírujte ID aplikace (klienta) a vložte ho do poznámkového bloku, který se použije později.
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:
- Vytvořte httpclient jazyka C# s tokenem, který jsme získali v předchozí části.
- Přidejte
https://api.fabric.microsoft.com/v1/jako základní adresu URL klienta. - 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