Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Введение
Чтобы работать с API Fabric, как и многие другие службы Майкрософт, сначала необходимо получить маркер Microsoft Entra для службы Fabric, а затем использовать этот маркер в заголовке авторизации вызова API.
В этом кратком руководстве вы создадите консольное приложение на C#, которое получит токен Entra ID с помощью библиотеки MSAL.Net, а затем используете C# HttpClient для вызова API Список рабочих областей.
Создание регистрации приложения
Чтобы получить токен Microsoft Entra, сначала необходимо зарегистрировать приложение с помощью идентификатора Microsoft Entra.
Дополнительные сведения о регистрации приложения и различных свойствах приложения и его применении к вашему сценарию см. в статье "Регистрация приложения на платформе удостоверений Майкрософт".
В этом кратком руководстве описано, как создать общедоступный клиент с URI перенаправления = http://localhost
Войдите в Центр администрирования Microsoft Entra с учетной записью не ниже администратора облачных приложений.
Перейдите в раздел Приложения > Регистрация приложений.
Нажмите кнопку "Создать регистрацию".
Введите отображаемое имя для вашего приложения и добавьте URI перенаправления публичного клиента
http://localhost
Выберите Зарегистрировать.
Скопируйте идентификатор приложения (клиента) и вставьте его в блокнот, который будет использоваться позже.
Получение токена
В этом руководстве вы будете использовать MSAL.Net для получения токена Entra ID для службы Fabric со следующими разрешениями: Workspace.ReadWrite.All, Item.ReadWrite.All.
Дополнительные сведения о получении токенов с помощью MSAL.Net см. в статье «Получение токенов» — библиотека аутентификации Microsoft для .NET.
Вставьте идентификатор приложения (клиента), скопированный ранее, и вставьте его для переменной 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 рабочих пространств для списка звонков
В этом разделе вы сделаете следующее:
- Создайте C# HttpClient с токеном, полученным в предыдущем разделе.
- Добавьте
https://api.fabric.microsoft.com/v1/в качестве базового URL-адреса для клиента. - Вызов API рабочих пространств списков и вывод ответа на консоль.
Пример кода C# для создания http-клиента и вызова 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