В настоящее время я разрабатываю приложение для внутреннего использования только на работе. Мне нужно получить контакты текущего зарегистрированного пользователя для использования в приложении, и в настоящее время я получаю следующие контакты:
Microsoft.Office.Interop.Outlook.Application app = new Microsoft.Office.Interop.Outlook.Application();
Microsoft.Office.Interop.Outlook.NameSpace NameSpace = app.GetNamespace("MAPI");
Microsoft.Office.Interop.Outlook.MAPIFolder ContactsFolder = NameSpace.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderContacts);
Microsoft.Office.Interop.Outlook.Items ContactItems = ContactsFolder.Items;
foreach (Microsoft.Office.Interop.Outlook.ContactItem item in ContactItems)
{
//do stuff with the contacts here
}
Проблема с этим подходом заключается в том, что всякий раз, когда пользователь открывает приложение и Outlook еще не открыт, появляется всплывающее окно Outlook с просьбой разрешить или запретить приложению доступ к контактам Outlook. В этом нет необходимости, и я думал только о том, как остановить появление этой формы, - вместо того, чтобы использовать сам Outlook, получить контакты с сервера Exchange.
Я просмотрел кучу документации по таким вещам, как EWS, однако я не нашел ссылки на EWS, чтобы гарантировать гарантированную работу с Exchange 2019. Я также хотел бы, чтобы любая аутентификация выполнялась автоматически на основе аутентификации домена с текущим зарегистрированным in user вместо того, чтобы требовать от пользователя ввода пароля.
Я попытался использовать это: https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/get-started-with-ews-managed-api-client-applications однако ExchangeVersion
имеет параметры только до Exchange 2013.
Что я должен использовать для этого? Приветствуются любые pu sh в правильном направлении.