Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Giriş
Diğer birçok Microsoft hizmeti gibi Doku API'leriyle çalışmak için önce Doku hizmeti için bir Microsoft Entra belirteci almanız, ardından bu belirteci API çağrısının yetkilendirme üst bilgisinde kullanmanız gerekir.
Bu hızlı başlangıç öğreticisinde, MSAL.Net kitaplığını kullanarak bir Entra ID belirteci alacak ve ardından Liste çalışma alanları API'sini çağırmak için C# HttpClient kullanacak bir C# konsol uygulaması oluşturacaksınız.
Uygulama kaydı oluşturma
Microsoft Entra belirtecini almak için önce bir uygulamayı Microsoft Entra Id'ye kaydetmeniz gerekir.
Bir uygulamayı ve uygulamanın farklı özelliklerini kaydetme ve senaryonuza nasıl uygulanabileceği hakkında daha fazla bilgi edinmek için bkz. Microsoft kimlik platformuna uygulama kaydetme.
Bu hızlı başlangıç öğreticisinde, yeniden yönlendirme URI'sine sahip bir genel istemci oluşturacaksınız = http://localhost
En az bir bulut uygulaması yöneticisi olarak Microsoft Entra yönetim merkezinde oturum açın.
Uygulamalar > Uygulama kayıtları'na gidin.
Yeni kayıt'a tıklayın.
Uygulamanız için bir görünen ad girin ve genel istemci yeniden yönlendirme URI'sini ekleyin
http://localhost
Kaydıseçin.
Uygulama (istemci) kimliğini kopyalayın ve daha sonra kullanmak üzere bir not defterine yapıştırın.
Jeton almak
Bu öğreticide, doku hizmeti için şu kapsamlara sahip bir Entra ID belirteci almak için MSAL.Net kullanacaksınız: Workspace.ReadWrite.All, Item.ReadWrite.All.
MSAL.Net kullanarak belirteç alma hakkında daha fazla bilgi için Belirteç Alma - Microsoft Kimlik Doğrulama Kitaplığı .NET'e bakın.
Daha önce kopyaladığınız Uygulama (istemci) kimliğini yapıştırın ve ClientId değişkeni için yapıştırın.
Microsoft Entra erişim belirteci almak için C# kod örneği
#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
Arama listesi çalışma alanları API'si
Bu bölümde şunları yapacaksınız:
- Önceki bölümde aldığımız belirteçle C# HttpClient'ı oluşturun.
- İstemci için temel URL olarak ekleyin
https://api.fabric.microsoft.com/v1/. - Liste çalışma alanları API'sini çağırın ve yanıtı konsola yazın.
Http istemcisi oluşturma ve Liste Çalışma Alanları API'sini çağırmaya yönelik C# kod örneği
// 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);
Tam C# konsol uygulaması kod örneği
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