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

使用Google Drive API上传文件至指定文件夹失败求助

问题分析与解决方案

Apex代码修正点

  1. 请求体构造错误:你的createRequestBody()大概率没正确包含文件元数据(尤其是parents字段)。multipart/related类型的上传需要分两部分构造请求体:

    • 第一部分是JSON格式的元数据,必须明确指定parents数组,示例结构如下:
      ----boundary
      Content-Type: application/json; charset=UTF-8
      
      {"name": "test.png", "parents": ["你的文件夹ID"]}
      
      ----boundary
      Content-Type: image/png
      
      [文件二进制内容]
      
      ----boundary--
      
    • 确保createRequestBody()生成的内容严格遵循这个格式,边界字符串要和请求头里的完全一致。
  2. 请求头边界字符串转义错误:代码里boundary="----boundary"是HTML转义格式,Apex中需改为Java风格转义:

    request.setHeader('Content-Type', 'multipart/related; boundary=\"----boundary\"');
    
  3. URL参数规范:URL里的parents参数无需加任何转义字符,直接传原始文件夹ID即可,比如:

    String strEndpoint = 'https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart&parents=' + folderId;
    

    更推荐把parents放在元数据里,避免参数冲突。

Postman测试修正点

  1. Content-Type类型错误:不要用multipart/form-data,切换为multipart/related。
  2. 参数传递方式错误:不要在form-data里加parents字段,添加两个独立的part:
    • 第一个part:类型选raw、格式选JSON,内容填写{"name": "test.png", "parents": ["你的文件夹ID"]},设置Content-Type为application/json; charset=UTF-8
    • 第二个part:类型选File,选择test.png文件,设置Content-Type为image/png
  3. 确保请求头里的Authorization是Bearer 你的访问令牌。

额外验证项

确认你的访问令牌拥有https://www.googleapis.com/auth/drive或https://www.googleapis.com/auth/drive.file权限,且目标文件夹对授权用户开放写入权限。

内容的提问来源于stack exchange,提问作者Christian Eduardo Salas Arros

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 10:42:58