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

如何使用OneDrive API通过新版共享URL访问共享驱动器内容?

OneDrive API 共享链接访问问题解决

问题背景

此前可通过旧格式OneDrive共享链接调用API获取内容,切换为新格式共享链接后,调用API时持续报错。

旧格式成功案例

  • 共享链接:https://1drv.ms/v/**s!AhcuJaxIdVk5gV86XGmv0X2a0P30?e=QYXv92*
  • 调用API:https://api.onedrive.com/v1.0/shares/{encoded_url}/root/content

新格式问题详情

  • 新共享链接格式:https://1drv.ms/v/**c/16736b8f8892fe5e/EeWQ4oZ_sZtGmTFmsnFDU3oBM7cJoyL9tapTJU7gxZznzA*
  • 错误操作:仅编码链接最后部分(EeWQ4oZ_sZtGmTFmsnFDU3oBM7cJoyL9tapTJU7gxZznzA),得到Base64-url-safe编码结果RWVXUTRvWl9zWnRHbVRGbXNGRFUzb0JNOWNKb3lMOWthcFRKVTdneFp6bnpB,构造API URL:
    https://api.onedrive.com/v1.0/shares/u!RWVXUTRvWl9zWnRHbVRGbXNGRFUzb0JNOWNKb3lMOWthcFRKVTdneFp6bnpB/root/content
    
  • 收到错误响应:
    {
        "error": {
            "code": "invalidRequest",
            "message": "Bad Argument"
        }
    }
    

解决方法

  1. 编码完整共享链接:必须对完整的有效共享链接进行Base64-url-safe编码,而非仅编码链接末尾部分。
    • 先处理共享链接:去掉末尾的*,保留核心有效链接,例如:https://1drv.ms/v/c/16736b8f8892fe5e/EeWQ4oZ_sZtGmTFmsnFDU3oBM7cJoyL9tapTJU7gxZznzA
  2. 遵循Base64-url-safe编码规则:
    • 对完整链接做标准Base64编码
    • 替换字符:将+替换为-,/替换为_
    • 去掉编码结果末尾的所有=
  3. 添加前缀并构造API URL:在编码结果前加上u!前缀,再拼接成API请求地址:
    https://api.onedrive.com/v1.0/shares/u![编码后的完整链接]/root/content
    
  4. 权限验证注意:若共享链接设置了访问权限,请求必须携带有效的身份凭证,否则会返回unauthenticated错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 11:30:09