Graph API chaqiruvlari va ClientSecretCredential token so'rovlari alohida transport kirish nuqtalariga ega. Microsoft.Graph 5 va Azure.Identity bilan mijozni qurishdan oldin ikkalasini ham sozlang:

var proxy = new System.Net.WebProxy(
    "http://proxy.example.net:8080");

var tokenHandler = new System.Net.Http.HttpClientHandler
{
    Proxy = proxy,
    UseProxy = true
};

var credentialOptions = new Azure.Identity.ClientSecretCredentialOptions
{
    Transport = new Azure.Core.Pipeline.HttpClientTransport(tokenHandler)
};

var credential = new Azure.Identity.ClientSecretCredential(
    tenantId, clientId, clientSecret, credentialOptions);

var authProvider =
    new Microsoft.Kiota.Authentication.Azure.AzureIdentityAuthenticationProvider(
        credential, scopes: new[] { "https://graph.microsoft.com/.default" });

var graphHttp = Microsoft.Graph.GraphClientFactory.Create(proxy: proxy);
var graphClient = new Microsoft.Graph.GraphServiceClient(
    graphHttp, authProvider);

Autentifikatsiyasiz ochiq HTTP yo'nalishi uchun HTTP proksi ro'yxati umumiy WebProxy uchun nomzod manzillarni taqdim etadi. Ilova tenantId, clientId va clientSecret qiymatlarini mavjud hisob ma'lumotlarini boshqarish orqali beradi. .default doirasi o'sha ro'yxatdan o'tish uchun sozlangan ilova ruxsatlaridan foydalanadi; yo'nalish ruxsat bera olmaydi.

Ikki transport satrini muhim juftlik sifatida o'qing. HttpClientTransport(tokenHandler) hisob ma'lumotlarining token so'rovini olib boradi. GraphClientFactory.Create(proxy: proxy) Graph SDK ning HTTP middleware qurilishini saqlab, uning API yo'nalishini sozlaydi.

Agar vositachi autentifikatsiyani talab qilsa, kerakli hisobni proksi obyektining Credentials xususiyatiga tayinlang. Egallangan transportlarni komponent umri davomida saqlang va o'chirish vaqtida ularni bo'shating.

Bu naqshni ko'rsatilgan SDK avlodi bilan ishlating. HttpProvider va DelegateAuthenticationProvider misollari avvalgi avlodga tegishli va bu konstruktor zanjiriga aralashtirib bo'lmaydi.

O'xshash maqolalar