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

Drive.Permissions.create参数错误及文件未找到问题求助

问题分析与解决方案

一、参数数量错误的原因及修正

你最初的代码错误在于**Drive.Permissions.create()的参数结构不符合API要求**:

  • 该方法的正确参数顺序为:
    1. 第一个参数:权限配置的resource对象(包含role、type、emailAddress)
    2. 第二个参数:目标文件/文件夹的fileId
    3. 第三个参数(可选):额外配置项(如sendNotificationEmail、supportAllDrives等)

你最初的代码把fileId和sendNotificationEmail都塞进了第一个对象里,导致API识别到的参数数量不符合要求(实际只传了1个参数,而非预期的2-3个)。

关于Drive服务与高级Drive API的区别

  • 普通DriveApp是Google Apps Script封装的简化服务,而Drive.Permissions属于高级Drive API,需要手动启用:
    1. 在脚本编辑器中,点击顶部菜单「资源」→「高级Google服务」
    2. 在弹出的面板中找到「Drive API」,将状态切换为「开启」
    3. 若提示需要关联Google Cloud Platform(GCP)项目,按指引完成关联并在GCP控制台中启用Drive API

二、"File not found"错误的排查方向

修改参数结构后仍出现文件找不到的问题,可从以下几点排查:

  • 确认ID正确性:检查instrumentGroups[nCounter].FolderID返回的字符串是否完全匹配目标文件夹/文件的ID,避免空格、多余字符或拼写错误。可直接用ID访问https://drive.google.com/drive/folders/[你的FolderID]验证是否能打开。
  • 共享驱动器权限配置:若目标文件夹在共享驱动器(Team Drive)中:
    • 确保supportAllDrives: true已正确设置(你当前代码已包含,但需确认API版本支持该参数)
    • 移除不必要的useDomainAdminAccess: true:该参数仅用于域管理员以管理员身份访问用户私有文件,若目标是共享驱动器,此参数可能导致权限冲突。
  • 脚本执行权限:确认脚本执行的账号(即你当前登录的账号)对目标文件夹拥有至少「编辑者」权限,即使是超级管理员,若未被添加到共享驱动器成员列表中,也无法通过API访问。
  • API权限范围:脚本授权时需确保已请求足够的Drive权限(如https://www.googleapis.com/auth/drive),可重新授权脚本:点击编辑器顶部「运行」→「授权」,按流程重新授予权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 07:45:13