0

经过数小时的研究,我实现了使用互操作办公室库从 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 时,出现错误。经过一番阅读,我发现我不能在 UWP 应用程序中使用这个 COM 库。所以我的问题是:我怎样才能在 UWP 应用程序中获取 Outlook 联系人,就像上面的版本一样?

4

1 回答 1

0

您将需要使用基于 Web 的 API,例如GraphOutlook 联系人或 Exchange Web 服务。UWP 应用是沙盒化的,无法从 Win32 电子邮件客户端访问电子邮件帐户数据。因此,您只能在 Exchange、Office 365 或 Outlook.com 中访问基于 Web 的电子邮件数据。

于 2017-05-05T01:17:38.360 回答