获取权限在Office365中执行OfficeItem.organizer.getAsync时拒绝控制台消息

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (26)

在office 365(版本1803)本地安装outlook(桌面客户端)。我们已添加了侧面板中显示的插件。它使用outlook API从桌面outlook中获取一些字段信息。它需要来自桌面outlook的这5个字段属性的信息:“subject”,“itemId”,“organizer”,“requiredAttendees”,“optionalAttendees”

我们在Appointment的撰写模式中使用getAsync API来获取这些值。

例:

  1. 如果是主题,我们在控制台中得到正确的响应。 window.Office.context.mailbox.item.subject.getAsync(function(res){console.log(res)});

输出: {status:"succeeded", value: "appointment1"}

  1. 如果是组织者 window.Office.context.mailbox.item.organizer.getAsync(function(res){console.log(res)});

输出:权限被拒绝

有关控制台错误消息,请参阅附图。

注意:相同的流程在Internet Explorer浏览器中的Outlook Web APP(OWA)中正常工作。

我们在本机outlook的创建和更新流程中尝试了上述场景。

有谁知道这个问题的原因?如何在本地安装的Outlook客户端中解决此问题?

提问于
用户回答回答于

您在清单中指定了哪些权限?

Outlook加载项在其清单中指定所需的权限级别。可用级别为RestrictedReadItemReadWriteItem,或ReadWriteMailbox。这些权限级别是累积的:Restricted是最低级别,每个更高级别包括所有较低级别的权限。ReadWriteMailbox包括所有支持的权限。

Restricted许可是许可的最基层。RestrictedPermissions清单中的元素中指定以请求此权限。如果加载项未在其清单中请求特定权限,则Outlook会默认将此权限分配给邮件加载项。

尝试访问主题或组织者等成员将返回null并导致出现错误消息,指出Outlook要求邮件加载项具有提升的权限。您必须至少申请ReadItem许可。

扫码关注云+社区

领取腾讯云代金券