You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取OneDrive共享文件夹中未直接共享文件的在线链接?

OneDrive快捷方式文件夹文件在线链接生成解决方案

问题原因

  1. 调用/me/drive/root/children无法看到共享文件夹快捷方式,是因为默认返回结果未包含带@microsoft.graph.shortcut facet的DriveItem,需通过筛选参数指定获取。
  2. /me/drive/sharedWithMe仅返回直接共享给当前用户的文件/文件夹,共享文件夹内非直接共享的文件不在该接口结果中。

解决步骤

  • 步骤1:获取根目录下的共享文件夹快捷方式
    调用API筛选出带有shortcut属性的项,示例请求:

    GET /me/drive/root/children?$select=id,name,shortcut&$filter=exists(shortcut)
    

    响应中会包含你添加的共享文件夹快捷方式,其中shortcut.targetId是目标共享文件夹的实际ID。

  • 步骤2:获取快捷方式目标文件夹内的文件
    通过目标文件夹ID遍历其下所有文件:

    GET /me/drive/items/{shortcut.targetId}/children
    

    此接口会返回文件夹内所有文件(包括非直接共享的)的详细信息,包含文件ID。

  • 步骤3:生成文件在线链接
    对目标文件调用createLink接口生成在线链接,逻辑与普通OneDrive文件一致:

    POST /me/drive/items/{fileId}/createLink
    

    请求体可指定链接权限(如{"type": "view", "scope": "organization"}),响应中的webUrl即为所需在线链接。

补充说明

若用户拖拽的文件路径包含快捷方式文件夹名称,可先通过步骤1的API匹配快捷方式名称,获取目标文件夹ID后,再遍历文件匹配路径,最终调用createLink生成链接即可。

内容的提问来源于stack exchange,提问作者bas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 07:03:24