【问题标题】:Microsoft Graph: Uploading files to shared with me folder on OneDrive?Microsoft Graph:将文件上传到 OneDrive 上与我共享的文件夹?
【发布时间】:2018-01-07 22:26:23
【问题描述】:

我能够使用this 方法成功上传到共享文档文件夹。但我正在寻找一种将文件上传到 OneDrive 上 Shared WithMe 文件夹的方法。

是否可以上传到 OneDrive 上的“/Shared WithMe”文件夹?如果是这样,哪种是 PUT(小文件)或 POST(上传会话)的正确语法?我花了很多时间来解决这个问题,但没有运气。

任何帮助将不胜感激。

【问题讨论】:

    标签: microsoft-graph-api onedrive


    【解决方案1】:

    我用这种方法取得了成功:

    PUT /drives/{driveid}/items/{itemid}/content

    我能够从 DriveItem 实体中检索到 driveiditemid。对于给定的DriveItemdriveid 位于 DriveItem.RemoteItem.ParentReference.DriveId (ItemReference docs),itemid 位于 DriveItem.RemoteItem.Id (RemoteItem docs)。

    似乎需要 Files.ReadWrite.All 权限。

    这种方法在 UWP C# Graph SDK 中适用于我。

    【讨论】:

      【解决方案2】:

      补充@Mark Scott 的回答:

      首先,我从与我共享的文件 URI 响应中获得了 driveIditemId

      GET /me/drive/sharedWithMe
      

      要使用共享 URI 上传文件,我需要将其更改为包含文件名和 : 上传 URI 字符。所以,我的 URI 是:

      PUT /drives/{driveid}/items/{itemid}:/FILE_NAME.EXTENSION:/content
      

      这样可以将文件上传到您知道Id 的文件夹中。但你可以走得更远!此外,可以使用已知文件夹Id 作为根并指定上传文件的路径。这很棒,因为在您指定的路径中自动创建文件夹..`

      PUT /drives/{driveid}/items/{itemid}:/FOLDER/CHILD FOLDER/FILE_NAME.EXTENSION:/content
      

      最后,这会将您的文件上传到:KNOWN_FOLDER_ID_NAME/FOLDER/CHILD FOLDER/FILE_NAME.EXTENSION

      额外提示:当您在文件夹中时,您可以从 onedrive Web URL 获取共享文件夹 Id。网址是这样的:

      https://onedrive.live.com/?id=YOUR_FOLDER_ID&cid=DONT_USE_THIS
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多