Java调用Google Drive API添加Sheet成员报权限不足错误求助
错误根因
该报错是OAuth 2.0授权凭证的权限范围不足,无法支撑修改Google Drive文件共享权限的操作,可按以下步骤逐一排查修复:
- 核查授权范围配置
你调用的是Drive API的permissions.create接口,必须在getCredentials方法中声明包含Drive写权限的授权范围,正确配置示例如下:import com.google.api.services.drive.DriveScopes; import java.util.Collections; import java.util.List; // 替换原有低权限的SCOPES配置 private static final List<String> SCOPES = Collections.singletonList(DriveScopes.DRIVE); // 若不需要全量Drive操作权限,可替换为更安全的DRIVE_FILE,仅对当前应用已授权访问的文件生效 // private static final List<String> SCOPES = Collections.singletonList(DriveScopes.DRIVE_FILE); - 清理本地旧授权缓存
如果你之前使用低权限范围发起过授权,项目根目录下会生成tokens文件夹存储授权凭证缓存,修改权限范围后必须删除该文件夹,程序才会重新发起新权限的授权申请,否则会一直沿用旧的低权限凭证导致报错。 - 核查Google Cloud控制台配置
确认你创建OAuth凭据的Google Cloud项目中,已经启用Google Drive API:修改文件共享权限属于Drive API的能力范围,仅启用Google Sheets API无法完成该操作。 - 核查授权账号权限
确认你OAuth流程中授权登录的Google账号,是目标Spreadsheet的所有者,或者拥有该表格的「管理访问权」,仅拥有编辑/查看权限的账号无法添加协作者。
内容的提问来源于stack exchange,提问作者JonnyTri
相关产品推荐
相关产品推荐

