了解 Outlook 加载项权限

Outlook 外接程序在其清单中指定所需的权限级别。 有四个可用级别。

权限级别
规范名称
XML 清单名称 Microsoft 365 名称的统一清单 摘要说明
限制 受限 MailboxItem.Restricted.User 允许访问与用户或邮件项目的特定信息无关的属性和方法。
读取项 ReadItem MailboxItem.Read.User 除了 受限中允许的内容外,它还允许:
  • 正则表达式
  • Outlook 外接程序 API 读取访问
  • 获取项属性和回调令牌
  • 编写自定义属性
读/写项 ReadWriteItem MailboxItem.ReadWrite.User 除了 读取项中允许的内容外,它还允许:
  • Outlook 加载项 API 的完全访问权限,但不包括 makeEwsRequestAsync
  • 设置项属性
读/写邮箱 ReadWriteMailbox Mailbox.ReadWrite.User 除了 在读/写项中允许的内容外,它还允许:

权限在清单中声明。 标记因清单类型而异。

  • XML 清单:使用 <Permissions> 元素。
  • Microsoft 365 (预览版统一清单) :使用“authorization.permissions.resourceSpecific”数组中对象的“name”属性。

注意

  • 对于使用“发送时追加”功能的加载项,需要一个补充权限。 使用 XML 清单,可以在 ExtendedPermissions 元素中指定权限。 有关详细信息,请参阅 在 Outlook 外接程序中实现end-on-send。 使用统一清单 (预览) ,可以在“authorization.permissions.resourceSpecific”数组中的其他对象中指定名为 Mailbox.AppendOnSend.User 的此权限。
  • 使用共享文件夹的加载项需要补充权限。 使用 XML 清单时,可以通过将 SupportsSharedFolders 元素设置为 来 true指定权限。 有关详细信息,请参阅 在 Outlook 外接程序中启用共享文件夹和共享邮箱方案。 使用统一清单 (预览) ,可以在“authorization.permissions.resourceSpecific”数组中的其他对象中指定名为 Mailbox.SharedFolder 的此权限。

四个级别的权限具有累积性:读/写邮箱权限包括读/写项权限、读取项权限和受限权限;读/写项权限包括读取项权限和受限权限;读取项权限包括受限权限。

在从 AppSource 安装邮件加载项之前,可以看到它请求的权限。 您还可以在 Exchange 管理员中心中查看已安装外接程序所需的权限。

受限权限

受限权限是最基本的权限级别。 默认情况下,如果加载项在其清单中不请求特定权限,Outlook 会将此权限分配给邮件加载项。

允许事项

重要

基于实体的上下文 Outlook 加载项将在 2024 年第 2 季度停用。 停用此功能的工作将于 5 月开始,并持续到 6 月底。 6 月之后,上下文加载项将无法再检测邮件项目中的实体以对其执行任务。 以下 API 也将停用。

为了帮助最大程度地减少潜在的中断,在基于实体的上下文加载项停用后,仍支持以下内容。

  • 正在开发由联机会议加载项激活的 “加入 会议”按钮的替代实现。 结束对基于实体的上下文加载项的支持后,联机会议加载项将自动转换为替代实现,以激活“ 加入会议 ”按钮。
  • 基于实体的上下文加载项停用后,将继续支持正则表达式规则。 建议更新上下文加载项,以使用正则表达式规则作为替代解决方案。 有关如何实现这些规则的指南,请参阅 使用正则表达式激活规则显示 Outlook 加载项

有关详细信息,请参阅 基于实体的上下文 Outlook 加载项的停用

  • 仅获取项目主题或正文的特定实体(电话号码、地址、URL)。

  • 指定项目激活规则,此类规则需要阅读或撰写窗体中的当前项目为特定的项目类型,或与选定项目中支持的已知实体(电话号码、地址、URL)的任何较小子集匹配的 ItemHasKnownEntity rule 规则。

    注意

    当外接程序使用 Microsoft 365 统一清单 时,不支持依赖于激活规则的 Outlook 外接程序功能, (预览版) 。

  • 访问与用户或项目具体信息关的任何属性和方法。(请参阅下一部分,了解与用户或项目具体信息相关的属性和方法列表)。

不能执行的操作

读取项权限

读取项权限是权限模型中的下一级权限。

可以执行的操作

禁止事项

读/写项权限

在清单中指定可请求此权限的 读/写项 权限。 在使用撰写方法(例如,Message.to.addAsyncMessage.to.setAsync)的撰写窗体中激活的邮件加载项必须使用至少这个等级的权限。

允许事项

禁止事项

  • mailbox.getCallbackTokenAsync 提供的令牌可用于:

    • 使用 Outlook REST API 更新或删除当前邮件,或访问用户邮箱中的其他任何邮件。
    • 使用 Outlook REST API 获取当前日历事件项。
  • 使用 mailbox.makeEWSRequestAsync

读/写邮箱权限

读/写邮箱权限是最高级别的权限。

除了 读取/写入项目 权限支持的内容外, mailbox.getCallbackTokenAsync 提供的令牌还允许使用 Exchange Web Services (EWS) 操作或 Outlook REST API 执行以下操作:

  • 读取和写入用户邮箱中任何邮件的所有属性。
  • 创建、读取和写入该邮箱中的任何文件夹或项目。
  • 从用户邮箱发送邮件

通过 mailbox.makeEWSRequestAsync,可以访问以下 EWS 操作。

尝试执行不受支持的操作会导致错误响应发生。

另请参阅