gpt4 book ai didi

sharepoint - 使用 Microsoft Graph 将文件上传到 SharePoint 驱动器

转载 作者:行者123 更新时间:2023-12-01 09:49:22 26 4
gpt4 key购买 nike

我们正在尝试使用 Microsoft Graph rest API 实现 Web 应用程序和 SharePoint Online 之间的集成。

具体来说,我们需要将文件上传到特定 SharePoint 站点的文档库(驱动器),与当前用户默认驱动器不同。我们通过 Azure AD 获取访问 token ,可以访问所有文件。

我们可以使用 /v1.0/me/drive/... 将文件上传到任何驱动器但当我们使用另一个驱动器时则不然。

例如:

var response = client.PutAsync(graphResourceUrl +
"/beta/sharepoint/sites/" + siteCollSiteId +
"/lists/" + listId +
"/drive/root/children/" + fileName + ":/content",
new ByteArrayContent(fileBytes)).Result;

var response = client.PutAsync(graphResourceUrl +
"/beta/drives/" + "/" + listId +
"/items/" + siteCollSiteId + "/" + fileName + ":/content",
new ByteArrayContent(fileBytes)).Result;

var response = client.PutAsync(graphResourceUrl +
"/beta/drives/" + listId + "/" + fileName + ":/content",
new ByteArrayContent(fileBytes)).Result;

两者 /v1.0/beta (在 SharePoint 包含路径的情况下)我们收到错误响应 Not Implemented .

我们可能做错了什么?它是否还不能与 Microsoft Graph 一起使用(除了 /me )?

最佳答案

为了使用 v1.0 获取驱动器的所有文件,您首先需要获取访问 token (我看到您已经通过了该 token ),然后获取“驱动器 ID”并使用以下 URL(注意:它不是“驱动器”,而是“驱动器”):

https://graph.microsoft.com/v1.0/drives/{drive-id}/root/children

为了获取驱动器 ID,我使用 postman 发出了以下 GET 请求,这将列出站点上的所有驱动器,您将能够获得该驱动器的 ID:
https://graph.microsoft.com/v1.0/sites/{tenant}.sharepoint.com:{path-to-site(ie: /sites/HR)}:/drives

要回答有关上传文件的问题,您将向以下 URL 发出 PUT 请求:
https://graph.microsoft.com/v1.0/drives/{drive-id}/root:/{folder-name}/{file-name.txt}:/content

您需要设置两个必需的 header :
  • 授权
  • 内容类型

  • 接下来,您将文件的二进制流传递到请求正文中。

    其他有用的元素

    获取文件夹内的所有文件:
    https://graph.microsoft.com/v1.0/drives/{drive-id}/root:/{folder-name}:/children

    获取用户 OneDrive 的内容:
    https://graph.microsoft.com/v1.0/me/drive/root/children

    引用:
    https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/driveitem_put_content#example-upload-a-new-file

    关于sharepoint - 使用 Microsoft Graph 将文件上传到 SharePoint 驱动器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41285403/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com