我有一个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>
但我不确定这是否会改变。
任何人都知道问题可能在这里?
答案 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)。