Для управляемого кода EWS я использовал OAuth 2.0 для получения токена, и он работал. Для неуправляемого EWS не удается подключиться к Exchange как неавторизованная ошибка.
Ниже приведен код для доступа к неуправляемому EWS. Как заставить приведенный ниже код работать с токеном OAuth вместо передачи учетных данных, как показано ниже?
Binding = new ExchangeServiceBinding
{
Url = ServerUrl,
Credentials = new OAuthCredentials(token),
RequestServerVersionValue = new RequestServerVersion { Version = ExchangeVersionType.Exchange2007_SP1 },
ExchangeImpersonation = null
};
Выше не работает, так как учетные данные запрашивают тип ICredentials и не принимают токен. Пожалуйста, помогите мне. Ниже приведен код прямого доступа к управляемым EWS.
var authResult = await pca.AcquireTokenByUsernamePassword(ewsScopes, credential.UserName, credential.SecurePassword).ExecuteAsync();
configure the ExchangeService with the access token
ExchangeService = new ExchangeService();
ExchangeService.Url = new Uri(ServerUrl);
ExchangeService.Credentials = new OAuthCredentials(authResult.AccessToken);