【问题标题】:Error when accessing OneDrive for Business via graph API通过图形 API 访问 OneDrive for Business 时出错
【发布时间】:2016-02-17 00:15:07
【问题描述】:

我已经构建了一个 asp.net 应用程序,该应用程序使用仅应用程序令牌和图表成功访问了 o365 交换。我现在正尝试使用相同的令牌和类似于以下内容的 Get 请求访问特定用户的 OneDrive for Business 文件:

https://mycomp-my.sharepoint.com/_api/v2.0/drives/simon@mycomp.com/items

但我收到以下错误:

3001000;reason='验证请求时出错。';category='invalid_client'

知道错误的原因是什么吗?

【问题讨论】:

  • 你是如何创建令牌的?您使用的是客户端密码还是证书?
  • 我使用证书创建了令牌。使用相同的令牌创建代码,我成功访问了 O365 交易所

标签: asp.net onedrive microsoft-graph-api


【解决方案1】:

现在可以使用直接 API 端点和 AAD 中的 Sites.ReadWrite.All 应用委派权限范围对 OneDrive for Business 进行应用委派访问。我认为它更多的是“预览版”而不是支持,所以伊娜的回答在技术上是正确的。我仍在获取有关如何最终确定应用程序构建的文档,但我们很快就会发布一些内容。

Andrew Connell 有一篇关于如何进行此设置的精彩博文,可在此处获取:http://www.andrewconnell.com/blog/user-app-app-only-permissions-client-credentials-grant-flow-in-azure-ad-office-365-apis

可以使用同样的方法使用 OneDrive API。

【讨论】:

  • 这是我遵循的一篇很棒的帖子,用于让应用程序与 Exchange Online 一起使用,但是当我尝试将此演示应用程序扩展为与 OneDrive 一起使用时,我收到了原始帖子中提到的错误。您有可以分享的专门用于 OneDrive 的工作示例吗?
  • 这是我一直在研究的示例,以展示其工作原理:github.com/rgregg/onedrive-app-delegate-sample
  • 感谢 Ryan,这正是我想要的。当您记录指南时,您是否还会解释如何配置 azure 端?
  • 是的,我会这样做的。
【解决方案2】:

目前不支持通过 Microsoft Graph 访问用户的 OneDrive。

【讨论】:

  • 请在此处查看 Ryan Gregg 的答案link,他似乎声称这是可能的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-12-12
  • 1970-01-01
  • 2016-05-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多