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

如何通过GRAPH API获取OneDrive文件上传状态以过滤未完成文件

解决OneDrive未完成上传文件的识别问题

核心判断逻辑

  • 检查下载链接是否存在:调用Graph API拉取文件属性时,未完成上传的大文件不会返回@microsoft.graph.downloadUrl字段。只要这个字段不存在,就可以判定文件还在上传中,直接忽略。
  • 对比文件大小:如果提前知道待上传文件的实际大小,对比API返回的size属性。如果返回的size远小于预期值,说明上传还没完成。

针对分片上传的文件(>100MB)

OneDrive对大文件默认用分片上传,这时可以通过上传会话状态判断:

  • 调用GET /drives/{drive-id}/items/{item-id}/createUploadSession接口,响应里的status字段会明确显示上传状态,可选值包括notStarted、inProgress、completed。
  • 注意:这个方法只适用于通过分片上传API提交的文件,Web界面或同步客户端上传的可能不适用。

兜底验证方式

如果上面的方法拿不准,直接尝试读取文件内容:

  • 调用GET /drives/{drive-id}/items/{item-id}/content接口,未完成的文件要么返回404、409这类错误,要么只能读取部分内容。捕获这些异常就能判断文件没传完。

额外小技巧

同步客户端上传大文件时,会生成带.tmp或~$前缀的临时文件,先过滤掉这类命名的文件,能减少不必要的判断。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 13:37:36