Получить токен доступа к API Graph для отправки электронной почты ⇐ C#

Место общения программистов C#
Anonymous
Получить токен доступа к API Graph для отправки электронной почты

Сообщение Anonymous »

Я создал функцию Azure, позволяющую получить токен API Graph и отправить с его помощью электронное письмо. Цель заключалась в том, чтобы кому-то еще в компании не приходилось каждый день вручную посещать Graph Explorer, чтобы получить и вставить токен.
Я использую этот код для получения токена.< /p>

Код: Выделить всё

private static async Task GetGraphAccessToken(ILogger log)
{
var clientId = Environment.GetEnvironmentVariable("ClientId");
var clientSecret = Environment.GetEnvironmentVariable("ClientSecret");
var tenantId = Environment.GetEnvironmentVariable("TenantId");

var tokenEndpoint = $"https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/token";
var body = new FormUrlEncodedContent(new[]
{
new KeyValuePair("client_id", clientId),
new KeyValuePair("scope", "https://graph.microsoft.com/.default"),
new KeyValuePair("client_secret", clientSecret),
new KeyValuePair("grant_type", "client_credentials"),
});

HttpResponseMessage response = await httpClient.PostAsync(tokenEndpoint, body);
string responseContent = await response.Content.ReadAsStringAsync();
var tokenResult = JsonConvert.DeserializeObject(responseContent);

return tokenResult.access_token;
}
Проблема в том, что я получаю токен обратно, но он не соответствует токену из Graph Explorer, указанному в разделе
введите описание изображения
Мне трудно понять, почему эти два токена не совпадают. Я пробовал использовать токен, который мне возвращают, чтобы отправить электронное письмо, но получаю плохое сообщение. запросить ответ.

Подробнее здесь: https://stackoverflow.com/questions/791 ... send-email

Вернуться в «C#»