Получить токен доступа к 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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