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

找不到api.onedrive.com的有效完整文档,求接口列表及使用指引

OneDrive API v1.0(api.onedrive.com)常用端点及使用说明

你当前使用的是OneDrive独立API v1.0版本,该版本所有接口统一采用OAuth 2.0令牌验证,请求时在Header中携带Authorization: Bearer <你的访问令牌>即可调用,所有接口请求格式一致。

驱动器核心端点

  • 获取当前用户默认驱动器元数据:GET https://api.onedrive.com/v1.0/drive
    返回内容包含驱动器总容量、已用容量、所有者信息等基础数据
  • 获取指定ID的驱动器信息:GET https://api.onedrive.com/v1.0/drives/<驱动器ID>
  • 列出根目录下所有子项(你当前已调用的端点):GET https://api.onedrive.com/v1.0/drive/root/children
    可选查询参数:
    • $select:指定返回字段,例:$select=name,id,size,@content.downloadUrl可只返回文件名、文件ID、文件大小、临时下载直链
    • $filter:过滤返回结果,例:$filter=folder ne null只返回文件夹,$filter=file ne null只返回文件
    • $orderby:指定排序规则,例:$orderby=lastModifiedDateTime desc按文件修改时间倒序排列
    • $top:限制单次返回数量,例:$top=50单次最多返回50条结果
  • 列出指定文件夹下的子项:GET https://api.onedrive.com/v1.0/drive/items/<文件夹ID>/children,也支持路径写法GET https://api.onedrive.com/v1.0/drive/root:/<文件夹完整路径>:/children
  • 获取单个文件/文件夹的元数据:GET https://api.onedrive.com/v1.0/drive/items/<项目ID>,路径写法GET https://api.onedrive.com/v1.0/drive/root:/<文件/文件夹完整路径>
  • 获取文件下载直链:请求上述元数据接口后,提取返回值中的@content.downloadUrl字段即可,该链接有固定时效,无需额外验证即可直接访问

文件查找与操作端点

  • 全驱动器搜索文件/文件夹:GET https://api.onedrive.com/v1.0/drive/root/search(q='<搜索关键词>')
    支持上述所有查询参数,可直接用于文件检索功能
  • 新建文件夹:POST https://api.onedrive.com/v1.0/drive/items/<父文件夹ID>/children
    请求头需携带Content-Type: application/json,请求体示例:
    {
      "name": "新建文件夹名称",
      "folder": {},
      "@microsoft.graph.conflictBehavior": "rename"
    }
    
    其中@microsoft.graph.conflictBehavior可选值为rename(重名自动重命名)、replace(重名直接覆盖)、fail(重名返回报错)
  • 删除文件/文件夹:DELETE https://api.onedrive.com/v1.0/drive/items/<项目ID>
  • 移动文件/文件夹:PATCH https://api.onedrive.com/v1.0/drive/items/<项目ID>
    请求头需携带Content-Type: application/json,请求体示例:
    {
      "parentReference": {
        "id": "<目标父文件夹ID>"
      },
      "name": "修改后的文件名(非必填)"
    }
    
  • 复制文件/文件夹:POST https://api.onedrive.com/v1.0/drive/items/<待复制项目ID>/copy
    请求头需携带Content-Type: application/json,请求体结构同移动接口

分页查询说明

当目录下项目数量过多,单次请求无法返回全部内容时,接口会返回@odata.nextLink字段,直接向该地址发起GET请求即可获取下一页内容,无需额外拼接参数,遍历大文件夹时可循环调用该字段直到返回值无该字段为止。

Vue项目调用示例

// 以axios调用为例,假设访问令牌已存储在localStorage中
const accessToken = localStorage.getItem('onedrive_access_token')
// 搜索所有包含"季度报表"关键词的文件
axios.get('https://api.onedrive.com/v1.0/drive/root/search(q="季度报表")', {
  headers: {
    Authorization: `Bearer ${accessToken}`
  },
  params: {
    $select: 'name,id,size,lastModifiedDateTime',
    $top: 100
  }
}).then(res => {
  console.log('搜索结果列表:', res.data.value)
  // 有下一页内容时res.data['@odata.nextLink']会返回有效地址
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 04:18:02