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.

Другие вопросы по тегам