EWS:日历FolderId中的邮箱地址,是否可能?

时间:2016-04-12 17:35:47

标签: c# exchangewebservices

我已将Calendar FolderIds存储在用户有权访问的日历事件的订单报告中。我通过c#(using Microsoft.Exchange.WebServices

使用Exchange Web服务

这些日历可以与经过身份验证的用户的邮箱,共享邮箱,模拟委派的邮箱或公用邮箱相关联。现在我想从FolderId转到邮箱地址。

理想情况下,有一个功能

string address = getMailboxAddress(new FolderId("AAJk...AA="));

1 个答案:

答案 0 :(得分:1)

如果您拥有FolderId,那么您拥有的是此https://msdn.microsoft.com/en-us/library/ee217297(v=exchg.80).aspx的EWS版本,这意味着您拥有的数据不包含电子邮件地址。在您将CalendarId存储与其关联的电子邮件地址存储时,您会更好。

您可以尝试将ConvertId与通用的不可解析的电子邮件地址一起使用这应该返回该文件夹所属的EmailAddress(不会为公共文件夹工作),例如

     AlternateId aiAlternateid = new AlternateId(IdFormat.EwsId, SharedFoder.Id.UniqueId, "mailbox@domain.com");
    AlternateIdBase aiResponse = service.ConvertId(aiAlternateid, IdFormat.EwsId);
    Console.WriteLine(((AlternateId)aiResponse).Mailbox);

干杯 格伦