Microsoft Outlook Exchange Service Oauth Token - недействительный клиентC#

Место общения программистов C#
Ответить
Anonymous
 Microsoft Outlook Exchange Service Oauth Token - недействительный клиент

Сообщение 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/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
Ответить

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

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

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

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

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