Freigeben über


Fabric-API – Schnellstart

Einleitung

Um mit Fabric-APIs wie vielen anderen Microsoft-Diensten zu arbeiten, müssen Sie zuerst ein Microsoft Entra-Token für den Fabric-Dienst abrufen und dann dieses Token im Autorisierungsheader des API-Aufrufs verwenden.

In diesem Schnellstart-Tutorial erstellen Sie eine C#-Konsolen-App, die ein Entra-ID-Token mithilfe der MSAL.Net-Bibliothek abruft und dann C# HttpClient verwendet, um die API zum Auflisten von Arbeitsbereichen aufzurufen.

Erstellen der App-Registrierung

Um ein Microsoft Entra-Token zu erhalten, müssen Sie zuerst eine Anwendung mit der Microsoft Entra-ID registrieren.

Weitere Informationen zum Registrieren einer Anwendung und verschiedener Eigenschaften der Anwendung und zur Anwendbarkeit für Ihr Szenario finden Sie unter Registrieren einer App in der Microsoft Identity Platform.

In diesem Schnellstart-Lernprogramm erstellen Sie einen öffentlichen Client mit Umleitungs-URI = http://localhost

  1. Melden Sie sich beim Microsoft Entra Admin Center mindestens als Cloudanwendungsadministrator an.

  2. Navigieren Sie zu Anwendungen > App-Registrierungen.

  3. Klicken Sie auf "Neue Registrierung".

  4. Geben Sie einen Anzeigenamen für Ihre Anwendung ein, und fügen Sie einen öffentlichen Clientumleitungs-URI hinzu. http://localhost

    Screenshot einer Form der App-Registrierung.

  5. Wählen Sie Registrieren aus.

  6. Kopieren Sie die Anwendungs-ID (Client-ID) und fügen Sie sie in einen Notizblock ein, der verwendet werden soll.

Screenshot einer App in Azure nach der Registrierung.

Abrufen von Token

In diesem Lernprogramm verwenden Sie MSAL.Net, um ein Entra-ID-Token für den Fabric-Dienst mit den folgenden Bereichen zu erwerben: Workspace.ReadWrite.All, Item.ReadWrite.All.

Weitere Informationen zum Tokenerwerb mithilfe von MSAL.Net finden Sie unter Tokenerwerb – Microsoft Authentication Library für .NET.

Fügen Sie die zuvor kopierte Anwendungs-ID (Client-ID) für die ClientId-Variable ein.

C#-Codebeispiel zum Abrufen eines Microsoft Entra-Zugriffstokens

#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 für Anruflisten-Arbeitsbereiche

In diesem Abschnitt werden Sie Folgendes tun:

  1. Erstellen Sie den C#-HttpClient mit dem Token, das wir im vorherigen Abschnitt erworben haben.
  2. Als Basis-URL für den Client hinzufügen https://api.fabric.microsoft.com/v1/ .
  3. API für Anruflisten-Workspaces und schreiben Sie die Antwort in die Konsole.

C#-Codebeispiel zum Erstellen eines HTTP-Clients und zum Aufrufen der 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); 

Vollständiges C#-Konsolen-App-Codebeispiel

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