关于Outlook加载项为什么会出现此错误的任何想法?
Elevated permission is required to call the method: 'mailbox.getUserIdentityToken'
我们的清单文件指定了ReadWrite权限:
<Permissions>ReadWriteItem</Permissions>
<Rule xsi:type="RuleCollection" Mode="Or">
<Rule xsi:type="ItemIs" ItemType="Message" FormType="Edit"/>
<Rule xsi:type="ItemIs" ItemType="Message" FormType="Read"/>
</Rule>
只有数百个用户/帐户遇到此问题。
谢谢。
一个更新:我们解决了“需要权限提升...”的问题,但该方法偶尔会返回:
getUserIdentityTokenAsync失败-状态:失败,错误:内部错误,代码:5001,消息:发生内部错误。
我们忽略了这一点,稍后再试,它会成功。不知道此错误意味着什么。
由于某种原因,如果您计划在稍后的计时器中进行方法调用,则会发生此“权限提升...”错误。我们重构了令牌刷新代码,以使用Timer放弃了该代码,这似乎已解决了问题!
我猜Office API在后台使用计时器调用时会失去一些重要的上下文。
至您的问题:
getUserIdentityTokenAsync failed - status: failed, error: Internal Error, code: 5001, message: An internal error has occurred.
当发生网络错误而导致无法获取令牌时,会发生这种情况。重试是解决此问题的有效方法。如果要查找有关可能发生的网络问题的更多信息,则asyncResult上有一个诊断对象:https://docs.microsoft.com/en-us/javascript/api/office/office.asyncresult?view=word-js-preview#diagnostics