调用Drive.Permissions.insert报错,仅返回‘Required’不完整错误信息求助
Google Drive API权限插入报错"Required"的解决方法
你遇到的问题根源在代码的三个细节错误:
- 权限资源的value值错误:
permissionResource里的value写死成了字符串'groupEmail',而不是引用变量groupEmail,导致API无法识别有效的组邮箱。 - 文件夹参数类型错误:
Drive.Permissions.insert的第二个参数需要传入文件夹ID(字符串类型),但你直接传了folder对象(DriveApp的Folder实例),API无法解析。 - 通知参数类型错误:
sendNotificationEmails应该传入布尔值false,而不是字符串'false',API对参数类型有严格要求。
修正后的代码如下:
function shareFoldersWithGroup() { var groupEmail = "test4236@something.com"; // Replace with the actual group email var permissionResource = { role: 'writer', type: 'group', value: groupEmail // 引用变量而非字面量 }; var optionalArgs = { sendNotificationEmails: false // 用布尔值而非字符串 }; var folders = DriveApp.getFolders(); while (folders.hasNext()) { var folder = folders.next(); Logger.log(folder.getName()); try { // 传入文件夹ID而非对象 Drive.Permissions.insert(permissionResource, folder.getId(), optionalArgs); } catch (err) { // 打印完整错误对象而非仅message,获取更多排查信息 Logger.log(JSON.stringify(err, null, 2)); } } }
内容的提问来源于stack exchange,提问作者dblginca
相关产品推荐
相关产品推荐

