使用Exchange Web服务(EWS)查找邮箱代理

时间:2015-04-07 21:33:04

标签: exchange-server exchangewebservices

我目前正在iOS下开发EWS客户端应用程序,因此我使用Exchange Web服务与Exchange 2010服务器进行通信(纯XML而不是托管API)。 我知道如何访问代理的邮箱和日历,并授予或删除对邮箱的委托访问权限,但在访问之前我需要先找到这些邮箱。也就是说,我想找到我当前用户可以访问的所有邮箱(而不是所有有权访问当前邮箱的用户,这是有充分证明的。)

2011年的这个问题(EWS API Delegate List)表明没有可能,但没有提供任何参考。我没有在文档中找到任何资源和提示,但Outlook可以轻松识别这些邮箱。也许它正在使用一些内部API,我无法在与服务器的通信中找到相应的请求。

如何找到这些邮箱?或者假设2011年的答案是正确的,还是没有办法实现这一目标吗?如果是这样,Outlook如何设法做到这一点?

1 个答案:

答案 0 :(得分:1)

有几种方法可以授予您访问另一个用户邮箱的权限,一种方法是通过Outlook代理,它基本上修改了文件夹Ace以及用户邮箱中的FreeBusy对象。另一种方法,如果管理员使用Add-MailboxPermission授予某人对邮箱的完全访问权限,然后允许自动交换邮箱的http://www.msexchange.org/articles-tutorials/exchange-server-2010/management-administration/mailbox-auto-mapping-exchange-server-2010-part1.html。这意味着Outlook将自动将邮箱作为附加邮箱连接。

为了找到您的用户将自动进行Automap的邮箱,您可以使用自动发现,并且邮箱将在AdditionalMailboxes中返回,例如



<?xml version="1.0" encoding="utf-8" ?>
<soap:Envelope xmlns:a="http://schemas.microsoft.com/exchange/2010/Autodiscove
r" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:xsi="http://www.w3.org
/2001/XMLSchema-instance" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <a:RequestedServerVersion>Exchange2010_SP2</a:RequestedServerVersion>
    <wsa:Action>http://schemas.microsoft.com/exchange/2010/Autodiscover/Autodiscover/GetUserSettings</wsa:Action>
    <wsa:To>https://autodiscover-s.outlook.com/autodiscover/autodiscover.svc</wsa:To>
  </soap:Header>
  <soap:Body>
    <a:GetUserSettingsRequestMessage xmlns:a="http://schemas.microsoft.com/exchange/2010/Autodiscover">
      <a:Request>
        <a:Users>
          <a:User>
            <a:Mailbox>user@domain.com</a:Mailbox>
          </a:User>
        </a:Users>
        <a:RequestedSettings>
          <a:Setting>AlternateMailboxes</a:Setting>
        </a:RequestedSettings>
      </a:Request>
    </a:GetUserSettingsRequestMessage>
  </soap:Body>
</soap:Envelope>
&#13;
&#13;
&#13;

对于Outlook,如果一些随机用户将您添加为代表(并且不会向您发送摘要),或者让您知道什么都不会发生并且Outlook无法显示或了解这个。但是,如果您确实知道某人已授权您访问其日历,然后在第一次执行此操作时在Outlook中打开该日历,则会添加Outlook(和OWA)的Wonderbar(导航)快捷方式https://msdn.microsoft.com/en-us/library/ee202589(v=exchg.80).aspx然后将在未来使用默认情况下显示此日历。您可以通过在CommonViews文件夹中查询它们来使用邮箱中的这些Nav快捷方式,例如EWS - Access All Shared Calendars。 (请注意,如果您在Office365中使用新的REST API,您现在可以在API中本地执行此操作)