#c# #asp.net #sharepoint #microsoft-graph-api #dotnet-httpclient
Вопрос:
Я пытаюсь подключиться к microsoft graph с помощью http-клиента. Это для веб-части sharepoint и ее использования в .net framework 4.6.1
Я установил следующие ссылки.
- Майкрософт.Идентичность.Клиент 4.35.1
- Ньютонсофт.Json 13.0.1
- System.Net.Http 4.3.4
Это и есть код
var tenantId = "***********************************";
var clientId = "***********************************";
var clientSecret = "***********************************";
// Configure app builder
var authority = $"https://login.microsoftonline.com/{tenantId}";
var app = ConfidentialClientApplicationBuilder
.Create(clientId)
.WithClientSecret(clientSecret)
.WithAuthority(new Uri(authority))
.Build();
// Acquire tokens for Graph API
var scopes = new[] { "https://graph.microsoft.com/.default" };
var authenticationResult = await app.AcquireTokenForClient(scopes).ExecuteAsync();
// Call Graph API
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", authenticationResult.AccessToken);
client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json"));
string baseUrl = "https://graph.microsoft.com";
string urlVersion = "v1.0";
string urlRessource = "users";
string urlId = "user@example.ca";
string url = $"{baseUrl}/{urlVersion}/{urlRessource}/{urlId}";
HttpResponseMessage response = await client.GetAsync(url);
var resp = await response.Content.ReadAsStringAsync();
if (response.IsSuccessStatusCode)
{
User usr = JsonConvert.DeserializeObject<User>(resp);
test.Text = usr.displayName;
}
По какой-то причине при запуске этой строки: var authenticationResult = await app.AcquireTokenForClient(scopes).ExecuteAsync();
Он просто выполняет процесс загрузки, без ошибок и просто не получил ответа.