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

使用AJAX获取OneDrive指定文件夹文件列表是否有通用请求URL?

OneDrive文件夹文件列表AJAX调用方案

你不需要强制使用官方picker组件,Microsoft Graph提供了可直接调用的通用REST接口来实现该需求,对应Google Drive的实现逻辑如下:

通用请求URL格式

请求地址为:
https://graph.microsoft.com/v1.0/me/drive/items/{FOLDER_ID}/children
你可以按需追加查询参数调整返回结果:

  • 加$top=1000参数调整单页返回最大数量,上限为1000
  • 加$select=name,id,size,@microsoft.graph.downloadUrl参数仅返回需要的字段,减少响应体积

调用注意事项

  • 该接口不支持JSONP,需要配置CORS后发送带授权头的AJAX请求,调用前需要先申请访问令牌:在Azure平台注册应用,申请Files.Read或Files.Read.All权限后通过OAuth2流程获取Bearer令牌
  • 如果要访问SharePoint/企业OneDrive下的文件夹,将请求前缀替换为https://graph.microsoft.com/v1.0/sites/{站点ID}/drive/items/{FOLDER_ID}/children即可
  • 单页返回结果超过限制时,响应体的@odata.nextLink字段会返回下一页的请求地址,直接调用即可获取剩余文件

参考代码示例

const FOLDER_ID = "替换为你的文件夹ID";
const ACCESS_TOKEN = "替换为你获取到的Bearer访问令牌";
const url = `https://graph.microsoft.com/v1.0/me/drive/items/${FOLDER_ID}/children?$top=1000`;

$.ajax({
  url: url,
  headers: {
    "Authorization": `Bearer ${ACCESS_TOKEN}`
  },
  dataType: "json"
}).done(function(media) {
  // media.value就是文件列表数组
  console.log(media.value);
  // 如果有下一页:media['@odata.nextLink']
}).fail(function(jqXHR, textStatus, errorThrown) {
  console.error("请求失败", textStatus, errorThrown);
});

Picker组件适用场景

只有当你需要快速实现文件选择交互、不想自行处理OAuth授权流程的场景下才需要使用官方picker组件,纯数据查询场景直接调用Graph接口即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 13:36:03