Microsoft Graph schemaExtensions Authorization_RequestDenied

时间:2017-05-26 09:30:40

标签: microsoft-graph

我正在尝试通过REST API graph.microsoft.com/beta/schemaExtensions

从我的应用中使用Microsoft Graph

这是我做的:

  1. https://apps.dev.microsoft.com

  2. 注册应用
  3. 检查所有委托和应用程序授权

  4. 根据OAuth客户端凭据授予流程获得访问令牌without a user

  5. 要求管理员同意从第3点检索到的访问令牌,并且使用https://login.microsoftonline.com/tenant/adminconsent?client_id=xxx&state=12345&redirect_uri=http://localhost:8081

  6. 成功了
  7. 使用从第3点检索到的访问令牌向/beta/schemaExtensions发帖,我发现此错误:

  8.   

    Authorization_RequestDenied - 没有足够的权限来完成操作

    所以这是我的问题,希望有人可以帮助我:

    1. 如何在管理员同意请求后检查委托授权是否正常?
    2. 使用schemaExtensions缺少哪些权限?
    3. 我的应用应该在没有用户的情况下工作,这是首选方法。

2 个答案:

答案 0 :(得分:1)

这里有几件事。

扩展程序是GA,可在/v1.0版本上使用。请使用它而不是/ beta。

我们不支持使用应用程序权限进行架构扩展注册。它今天需要 Directory.AccessAsUser.All 权限(我们还会根据create schema extensions主题调查是否还有我们可以使用的另一个权限更少的权限。< / p>

注册架构扩展可以是与您的应用程序实际使用扩展程序在目标对象实例上创建自定义数据的单独进程。

因此我们正在进行更改(应该很快就会提供),以允许您使用Graph Explorer注册和管理应用程序的架构扩展。还有一个user voice request可以在应用程序注册中获得用于架构注册/管理的UI体验。如果您对此很重要,请投票支持。

一旦Graph Explorer支持注册和管理架构扩展,我就会更新此帖子。

希望这有帮助,

答案 1 :(得分:0)

要回答后续问题,主叫用户应具有读/写权限,以便将自定义数据添加到其他用户。但是,您可以使用开放扩展来使用/ me / extensions向调用用户添加自定义数据(只要该应用具有user.readwrite或更高权限)。