使用电子邮件地址EWS查找用户邮箱GUID

时间:2018-05-09 14:19:47

标签: c# exchangewebservices outlook-addin

我正在使用Outlook加载项并执行一些加密和解密。我在POST请求期间在服务器上创建了一些散列字符串。该字符串稍后传递给GET请求,并且在服务器上我需要比较该散列字符串以查看该用户是否是执行POST请求的同一用户。

当我发出GET请求时,我还使用Office.context.mailbox.userProfile.emailAddress发送用户smtp。

问题如何使用电子邮件地址查找用户mailboxGUID(或包含mailboxGUID的帐户信息等)?

1 个答案:

答案 0 :(得分:1)

您想要AD /目录GUID还是ExchangeGUID?您可以使用ResolveName获取ADGuid并指定属性集(这适用于2010年),例如

        PropertySet exProp = new PropertySet(BasePropertySet.FirstClassProperties);
        NameResolutionCollection ncCol = service.ResolveName("user@domain.com", ResolveNameSearchLocation.DirectoryOnly, true, exProp);
        if (ncCol.Count == 1)
        {
            Console.WriteLine(ncCol[0].Contact.DirectoryId);
        }

MailboxGUID构成了FolderId格式的一部分,因此如果您确实需要,可以解析https://msdn.microsoft.com/en-us/library/ee217297(v=exchg.80).aspx