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

如何使用CURL下载OneDrive中带密码保护的共享文件?

带密码保护的OneDrive共享文件curl下载方法

直接把共享密码放在Authorization: Bearer请求头里是错误的——Bearer头用于传递OAuth身份令牌,和共享文件的密码不是同一类验证凭据。要通过curl下载带密码的OneDrive共享文件,需要走「验证密码获取会话权限」的流程,具体步骤如下:

  • 步骤1:获取验证所需参数
    先发起一次不带密码的下载请求,触发验证提示,从返回的错误信息里提取关键参数:

    curl "https://api.onedrive.com/v1.0/shares/s!<fileId>/root/content"
    

    在返回的JSON错误信息中,找到fixItUrl字段,从中提取id和challengeToken两个参数(对应URL里id=xxx和challengeToken=xxx的部分)。

  • 步骤2:提交密码获取会话Cookie
    用提取到的参数向验证接口提交密码,将会话Cookie保存到本地文件:

    curl -c cookies.txt "https://onedrive.live.com/v1.0/shares/<提取到的id>/validatePermission" \
      -H "Content-Type: application/json" \
      -d '{"challengeToken":"<提取到的challengeToken>","password":"<你的共享文件密码>"}'
    

    执行成功后,会话权限Cookie会被保存到cookies.txt文件中。

  • 步骤3:携带Cookie下载文件
    最后带着保存的Cookie发起下载请求,即可获取带密码保护的文件:

    curl -b cookies.txt "https://api.onedrive.com/v1.0/shares/s!<fileId>/root/content" -o 你要保存的文件名.ext
    

注意:这种方式依赖OneDrive生成的会话Cookie,Cookie存在有效期,过期后需要重新执行上述步骤获取新的Cookie。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 03:02:03