Office.context.mailbox.restUrl似乎不起作用

时间:2018-03-09 09:57:14

标签: outlook-addin office-addins outlook-restapi

我有一个Outlook网络插件,在某些时候会调用其余的API来标记带有标记的电子邮件。

这在我的Outlook 2016 Windows客户端(在Office 365帐户上)中按预期工作,但在另一个系统上(我相信这里的设置是Exchange 2013 SP2和Outlook 2013客户端)一切似乎都有效,除了获取其余的URL

Office.context.mailbox.restUrl 只返回 undefined ,其原因导致以下休息呼叫失败。

权限已正确设置为 ReadWriteMailbox (或者它不适用于我自己的系统),但我不确定其他设置的版本是否只支持此功能?

清单包含这样的部分:

<VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides" xsi:type="VersionOverridesV1_0">
<Requirements>
  <bt:Sets DefaultMinVersion="1.3">
    <bt:Set Name="Mailbox" />
  </bt:Sets>
</Requirements>

但我不确定这是否会改变。

任何人都知道问题可能在这里?

1 个答案:

答案 0 :(得分:1)

我相信可能有两个原因导致这种情况不起作用,而您似乎找到了第一个:

访问属性Office.context.mailbox.restUrl需要设置API 1.5。这不依赖于manifest.xml文件DefaultMinVersion,而是依赖于您正在运行的实际Outlook客户端版本。 DefaultMinVersion只是阻止您的应用程序在不支持指定需求集的客户端中运行。 Office 2013不支持1.5。

另一种可能是您的Exchange服务器不支持REST。该文档说:“连接到Exchange 2016的本地安装且配置了自定义REST URL的Outlook客户端将为restUrl返回无效值。” (https://dev.office.com/reference/add-ins/outlook/1.5/Office.context.mailbox?product=outlook)。

我对此进行了更多搜索,想知道任何内部部署Exchange设置是否支持REST,并且发现需要混合或纯Exchange Online(Office 365)设置(https://social.msdn.microsoft.com/Forums/office/en-US/0503a37d-7869-4c39-a5c3-605e147e2079/support-for-rest-api-in-exchange-2016-onprem-only?forum=exchangesvrdevelopment)。