Попытка прочитать почту с использованием EWS, но получение ниже ошибки
ошибка приобретения токена доступа: msal.netcore.4.72.1.0.malserviceexception:
errorcode: Invalid_client
microsoft.identity.client.masalserviceexception: проблема конфигурации - это предотвращение аутентификации - Проверьте сообщение об ошибке на сервере. Вы можете изменить конфигурацию в портале регистрации приложений. См. Https://aka.ms/msal-net-invalid-client для деталей. Исходное исключение: AADSTS7000218: корпус запроса должен содержать следующий параметр: 'client_assertion' или 'client_secret'.
Я следил за этой ссылкой. />https://learn.microsoft.com/en-us/excha ... sing-oauth
`using Microsoft.Exchange.WebServices.Data;
using Microsoft.Identity.Client;
using System;
using System.Configuration;
namespace EwsOAuth
{
internal class Program
{
private static async System.Threading.Tasks.Task Main(string[] args)
{
// Using Microsoft.Identity.Client 4.22.0
// Configure the MSAL client to get tokens
var pcaOptions = new PublicClientApplicationOptions
{
ClientId = ConfigurationManager.AppSettings["appId"],
TenantId = ConfigurationManager.AppSettings["tenantId"]
};
var pca = PublicClientApplicationBuilder
.CreateWithApplicationOptions(pcaOptions)
.WithRedirectUri("http://localhost")
.Build();
//// The permission scope required for EWS access
var ewsScopes = new string[] { "https://outlook.office365.com/EWS.AccessAsUser.All" };
try
{
// Make the interactive token request
var authResult = await pca
.AcquireTokenInteractive(ewsScopes)
.WithEmbeddedWebViewOptions(new EmbeddedWebViewOptions())
.ExecuteAsync();
// Configure the ExchangeService with the access token
var ewsClient = new ExchangeService();
ewsClient.Url = new Uri("https://outlook.office365.com/EWS/Exchange.asmx");
ewsClient.Credentials = new OAuthCredentials(authResult.AccessToken);
// Make an EWS call
var folders = ewsClient.FindFolders(WellKnownFolderName.MsgFolderRoot, new FolderView(10));
foreach (var folder in folders)
{
Console.WriteLine($"Folder: {folder.DisplayName}");
}
}
catch (MsalException ex)
{
Console.WriteLine($"Error acquiring access token: {ex}");
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex}");
}
if (System.Diagnostics.Debugger.IsAttached)
{
Console.WriteLine("Hit any key to exit...");
Console.ReadKey();
}
}
}
}`
Подробнее здесь: https://stackoverflow.com/questions/796 ... lid-client
Microsoft Outlook Exchange Service Oauth Token - недействительный клиент ⇐ C#
Место общения программистов C#
1749600160
Anonymous
Попытка прочитать почту с использованием EWS, но получение ниже ошибки
ошибка приобретения токена доступа: msal.netcore.4.72.1.0.malserviceexception:
errorcode: Invalid_client
microsoft.identity.client.masalserviceexception: проблема конфигурации - это предотвращение аутентификации - Проверьте сообщение об ошибке на сервере. Вы можете изменить конфигурацию в портале регистрации приложений. См. Https://aka.ms/msal-net-invalid-client для деталей. Исходное исключение: AADSTS7000218: корпус запроса должен содержать следующий параметр: 'client_assertion' или 'client_secret'.
Я следил за этой ссылкой. />https://learn.microsoft.com/en-us/exchange/client-developer/exchange-web-services/how-to-authenticate-an-ews-application-by-using-oauth
`using Microsoft.Exchange.WebServices.Data;
using Microsoft.Identity.Client;
using System;
using System.Configuration;
namespace EwsOAuth
{
internal class Program
{
private static async System.Threading.Tasks.Task Main(string[] args)
{
// Using Microsoft.Identity.Client 4.22.0
// Configure the MSAL client to get tokens
var pcaOptions = new PublicClientApplicationOptions
{
ClientId = ConfigurationManager.AppSettings["appId"],
TenantId = ConfigurationManager.AppSettings["tenantId"]
};
var pca = PublicClientApplicationBuilder
.CreateWithApplicationOptions(pcaOptions)
.WithRedirectUri("http://localhost")
.Build();
//// The permission scope required for EWS access
var ewsScopes = new string[] { "https://outlook.office365.com/EWS.AccessAsUser.All" };
try
{
// Make the interactive token request
var authResult = await pca
.AcquireTokenInteractive(ewsScopes)
.WithEmbeddedWebViewOptions(new EmbeddedWebViewOptions())
.ExecuteAsync();
// Configure the ExchangeService with the access token
var ewsClient = new ExchangeService();
ewsClient.Url = new Uri("https://outlook.office365.com/EWS/Exchange.asmx");
ewsClient.Credentials = new OAuthCredentials(authResult.AccessToken);
// Make an EWS call
var folders = ewsClient.FindFolders(WellKnownFolderName.MsgFolderRoot, new FolderView(10));
foreach (var folder in folders)
{
Console.WriteLine($"Folder: {folder.DisplayName}");
}
}
catch (MsalException ex)
{
Console.WriteLine($"Error acquiring access token: {ex}");
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex}");
}
if (System.Diagnostics.Debugger.IsAttached)
{
Console.WriteLine("Hit any key to exit...");
Console.ReadKey();
}
}
}
}`
Подробнее здесь: [url]https://stackoverflow.com/questions/79661223/microsoft-outlook-exchange-service-oauth-token-invalid-client[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия