拒绝访问以在消息上添加 Microsoft Graph 架构扩展
Access denied to add Microsoft Graph Schema Extension on a Message
我们目前正在制作一个多租户应用程序,管理员用户可以在其中登录 Office365 并操纵其他用户的电子邮件。我们想在创建的消息上添加架构扩展,但我最终遇到了 AccessDenied
错误。
注意,我使用的是arxone_path
模式扩展,即Available
(你可以尝试使用它)。
我首先在我的 Azure 应用程序注册上设置了委派权限 Mail.ReadWrite
(如 https://docs.microsoft.com/en-us/graph/api/opentypeextension-post-opentypeextension?view=graph-rest-1.0#permissions 所述)。我还添加了 Mail.ReadWrite.Shared
权限。使用用户的访问令牌,我实际上可以获取、创建、删除或更新另一个用户的消息。但是,如果我尝试更新消息以添加这样的架构扩展:
PATCH https://graph.microsoft.com/v1.0/{{user}}/messages/{{message}}
Content-Type: application/json
{
"arxone_path": {
"path":"some/path"
}
}
我总是收到这样的回复:
HTTP/1.1 403 Forbidden
Content-type: application/json
{
"error": {
"code": "ErrorAccessDenied",
"message": "Access is denied. Check credentials and try again.",
"innerError": {
"request-id": "a95b0641-63e9-4601-82f2-d8c4ed6d64d8",
"date": "2020-01-16T16:12:29"
}
}
}
综上所述,我可以:
- 编辑连接用户自己的消息之一 -> 确定
- 添加已连接用户自己的消息的扩展名-> 确定
- 编辑另一条用户消息 -> 确定
- 添加另一个用户消息的扩展名 -> 不行
我相信 url 表示您在尝试创建开放扩展程序时可能需要额外的权限(取决于帐户类型)。
委派(工作或学校)
User.ReadWrite.All
委派(个人 Microsoft 帐户)
User.ReadWrite
申请
User.ReadWrite.All
您不能使用其他用户的委派访问令牌向用户对象添加开放扩展。您需要让该用户登录并使用他们的委托访问令牌。
另一种方法是使用应用程序权限(仅限应用程序)并请求 User.ReadWrite.All,这需要管理员的管理员同意。
我们目前正在制作一个多租户应用程序,管理员用户可以在其中登录 Office365 并操纵其他用户的电子邮件。我们想在创建的消息上添加架构扩展,但我最终遇到了 AccessDenied
错误。
注意,我使用的是arxone_path
模式扩展,即Available
(你可以尝试使用它)。
我首先在我的 Azure 应用程序注册上设置了委派权限 Mail.ReadWrite
(如 https://docs.microsoft.com/en-us/graph/api/opentypeextension-post-opentypeextension?view=graph-rest-1.0#permissions 所述)。我还添加了 Mail.ReadWrite.Shared
权限。使用用户的访问令牌,我实际上可以获取、创建、删除或更新另一个用户的消息。但是,如果我尝试更新消息以添加这样的架构扩展:
PATCH https://graph.microsoft.com/v1.0/{{user}}/messages/{{message}}
Content-Type: application/json
{
"arxone_path": {
"path":"some/path"
}
}
我总是收到这样的回复:
HTTP/1.1 403 Forbidden
Content-type: application/json
{
"error": {
"code": "ErrorAccessDenied",
"message": "Access is denied. Check credentials and try again.",
"innerError": {
"request-id": "a95b0641-63e9-4601-82f2-d8c4ed6d64d8",
"date": "2020-01-16T16:12:29"
}
}
}
综上所述,我可以:
- 编辑连接用户自己的消息之一 -> 确定
- 添加已连接用户自己的消息的扩展名-> 确定
- 编辑另一条用户消息 -> 确定
- 添加另一个用户消息的扩展名 -> 不行
我相信 url 表示您在尝试创建开放扩展程序时可能需要额外的权限(取决于帐户类型)。
委派(工作或学校)
User.ReadWrite.All
委派(个人 Microsoft 帐户)
User.ReadWrite
申请
User.ReadWrite.All
您不能使用其他用户的委派访问令牌向用户对象添加开放扩展。您需要让该用户登录并使用他们的委托访问令牌。
另一种方法是使用应用程序权限(仅限应用程序)并请求 User.ReadWrite.All,这需要管理员的管理员同意。