1

尝试使用 Microsoft Graph api 搜索 Sharepoint 文件,我知道要访问 sharepoint,我需要省略“me”并使用端点。

https://graph.microsoft.com/v1.0/drive/root

但是,当我按照https://graph.microsoft.io/en-us/docs/api-reference/v1.0/api/item_delete上的文档进行操作时,我收到错误代码“未经身份验证”作为响应。

我可以使用上述方法从 OneDrive 中删除文件,但不能从 sharepoint 中删除文件。什么是可能的解决方案?

4

2 回答 2

1

Drives API 的工作原理如下 - 每个用户都可以访问多个驱动器。OneDrive for Business 只是其中一种驱动器。每个 SharePoint 文档库也是一个驱动器。

通常,驱动器的访问方式/drives/<drive-id>如参考页面上的第二个示例所示 - https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/drive_get

OneDrive for Business 可以/me/drive作为便捷的快捷方式访问。

只需从根网站集/drive指向文档库。Shared Documents由于参考页面没有说明应该返回哪个驱动器,我会远离这个 API,直到它被记录下来。如果您尝试访问的项目不存在,那么很自然会出现错误。

解锁自己:

  1. 确保您尝试删除的Shared Documents文件位于根 SharePoint 网站集的文件夹中。
  2. 确保您的应用所代表的用户有权删除所需文件夹中的文件。
  3. 确保您访问的是正确的驱动器。当您获取驱动器项时,会有一个parentReference包含子属性的driveId属性。然后,要访问该项目,您可以执行/drives/<drive-id>/items/<item-id>.
于 2016-04-27T16:07:46.213 回答
0

您是否在请求标头中提供访问令牌?

https://graph.microsoft.io/en-us/docs/authorization/app_authorization

您需要为要执行的每个请求提供它:

响应正文是一个 JSON 格式的字符串,其中包含访问令牌 (access_token)。您需要将此令牌提供给任何随后的 HTTP 请求以访问 Microsoft Graph API 资源。

于 2016-04-27T09:19:22.107 回答