UWP Получить Outlook локальные контакты
После нескольких часов исследований мне удалось получить контакты из Outlook, используя офисную библиотеку взаимодействия, используя этот код
var outlookApplication = new Application();
NameSpace mapiNamespace = outlookApplication.GetNamespace("MAPI");
MAPIFolder contacts = mapiNamespace.GetDefaultFolder(OlDefaultFolders.olFolderContacts);
for (int i = 1; i < contacts.Items.Count + 1; i++)
{
var contact = (ContactItem)contacts.Items[i];
Console.WriteLine(contact.FullName);
Console.WriteLine(contact.Email1Address);
Console.WriteLine();
}
Моя цель - сделать что-то подобное в приложении UWP. Когда я пытаюсь поместить библиотеку взаимодействия Outlook в UWP, я получаю сообщение об ошибке. После некоторого чтения я обнаружил, что не могу использовать эту библиотеку COM в приложении UWP. Итак, мой вопрос: как мне получить контакты Outlook в приложении UWP, как в приведенной выше версии?
1 ответ
Вам нужно будет использовать веб-API, такой как Graph, Outlook Contacts или Exchange Web Services. Приложения UWP находятся в изолированной программной среде и не могут получить доступ к данным учетной записи электронной почты из почтовых клиентов Win32. Таким образом, вы можете получить доступ только к веб-данным электронной почты в Exchange, Office 365 или Outlook.com.