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

调用Google Drive API上传文件遇404:输入文件夹ID却提示文件未找到

排查Google Drive API上传文件的404错误与文件丢失问题

我来帮你梳理这个问题,你遇到的两个异常(simple upload后找不到文件、drive.files.create报404)其实大概率是同一类原因导致的,咱们一步步拆解:

首先看错误里的关键矛盾点

你控制台报错提示找不到的文件ID是1ZTCEjsqIH8NoB5xpo1AD32wBrV6bpsKI,但你代码里写的目标文件夹ID是0BwwA4oUTeiV1TGRPeTVjaWRDY1E——这说明实际执行时传入的文件夹ID可能和你预期的不一致。建议在函数开头加一行日志,确认运行时的folderId值:

console.log('Current target folder ID:', folderId);

排查是不是代码没更新、或者有其他逻辑覆盖了这个变量。

最常见的404原因:授权账号无文件夹访问权限

你用的是jwtClient(服务账号),这类账号有独立的Google Drive存储空间,默认无法访问你个人Drive里的文件夹。必须做以下操作:

  1. 找到你的服务账号邮箱(格式一般是[项目ID]@[项目ID].iam.gserviceaccount.com,可以在Google Cloud Console的IAM页面查看);
  2. 打开目标文件夹的Google Drive页面,点击「共享」,把服务账号邮箱添加进去,至少授予「编辑」权限;
  3. 等待几分钟让权限生效,再重新测试。

Google官方文档里的404说明也提到了:

404: File not found: {fileId} The user does not have read access to a file, or the file does not exist.

这里的"user"指的是你的服务账号,不是你本人。

关于simple upload后找不到文件的解释

如果simple upload返回成功但你在自己的Drive里看不到文件,那文件大概率是上传到了服务账号自己的Drive存储空间里,而不是你指定的文件夹。因为服务账号没有访问你个人文件夹的权限时,上传的文件会默认存在它自己的Drive中,你无法直接看到。解决了上面的权限问题后,这个现象也会消失。

代码层面的优化建议

除了权限问题,你可以调整代码的几个细节来避免潜在问题:

  1. 确保引入了fs和path模块(你的代码里没看到引入,可能会导致读取文件失败):
    const fs = require('fs');
    const path = require('path');
    
  2. 如果目标文件夹在共享驱动器(Shared Drive)中,需要在drive.files.create的参数里加上supportsAllDrives: true:
    drive.files.create({
      auth: jwtClient,
      resource: fileMetadata,
      media: media,
      fields: 'id',
      supportsAllDrives: true // 新增这个参数
    }, function(err, file) {
      if (err) {
        console.error('Full error details:', err);
        return;
      }
      console.log('File Id: ', file.id);
      console.log("callback accomplished.")
    });
    
  3. 可以在回调里打印更详细的错误信息,方便排查深层问题。

补充验证步骤

  1. 用服务账号的邮箱登录Google Drive,看看是否能看到目标文件夹;
  2. 检查Google Cloud Console里的API是否启用:确保「Google Drive API」已经在「API和服务」>「已启用的API和服务」列表中;
  3. 确认授权范围:你初始化jwtClient时,请求的scope应该包含https://www.googleapis.com/auth/drive或者https://www.googleapis.com/auth/drive.file,前者权限更全,适合测试阶段使用。

内容的提问来源于stack exchange,提问作者Diagathe Josué

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:24:29