【问题标题】:Unable to retrieve user's mysite URL when accessing One Drive using Microsoft Graph Client Library使用 Microsoft Graph 客户端库访问 One Drive 时无法检索用户的 mysite URL
【发布时间】:2018-08-06 15:24:17
【问题描述】:

以下使用 Microsoft Graph 客户端库的代码段在尝试访问 One Drive 内容时失败

var items = Graphclient.Me.Drive.Root.Children.Request().GetAsync().Result;

抛出异常

代码:错误请求 消息:无法检索用户的 mysite URL。

Fiddler 显示请求标头的 HTTP 400。 获取 /v1.0/me/drives

我在 Graph explorer 中签入,租户确实为相同的请求工作,那么为什么它在代码中失败。

我已设置以下管理员级别的应用权限 Directory.ReadWrite.All、Files.ReadWrite.All、Sites.ReadWrite.All、User.ReadWrite.All

以下代码部分可以正常工作

IGraphServiceDrivesCollectionPage drives = 
Graphclient.Drives.Request().GetAsync().Result;

提琴手请求 - GET /v1.0/drives HTTP/1.1

那么当我尝试访问 Graphclient.Me 时我错过了什么

【问题讨论】:

  • 有什么更新吗?还有效吗?
  • 不,它不工作

标签: microsoft-graph-api onedrive


【解决方案1】:

你能从你的 jwt 发布范围吗?图形资源管理器能够执行完全相同的调用这一事实意味着它一定是权限问题。

我知道这听起来很傻,但请确保在设置需要管理员同意的权限后单击“授予权限”按钮。

【讨论】:

  • 我已经在 App Registration 门户上创建了该应用程序,并在相同 (Directory.ReadWrite.All,Files.ReadWrite.All,Sites.ReadWrite.All,User.ReadWrite.全部)。我在应用注册门户上看不到任何授予权限按钮。那么我在这里错过了什么
  • 我已按照本文所述步骤注册我的应用developer.microsoft.com/en-us/graph/docs/concepts/…
  • 需要管理员同意的权限不会通过单击权限列表中的复选框自动生效,您必须从管理员帐户中明确给出“确定”。这可以按照您发送的链接的第 3 步中描述的方式完成。或者可以通过单击 azure Active Directory 门户中的按钮来完成,这更容易一些。只需转到aad.portal.azure.com 点击Azure Active Directory>应用注册>查看所有应用>点击你的应用>设置>所需权限,然后点击授予权限按钮(你需要一个管理员帐户)
  • 我已通过执行developer.microsoft.com/en-us/graph/docs/concepts/… 中列出的“第 3 步。获得管理员同意”获得管理员同意
  • 我使用的是个人 Microsoft 帐户,而不是工作或学校帐户。个人帐户在访问 OneDrive 方面是否有限制
猜你喜欢
  • 1970-01-01
  • 2020-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多