如何解决Python调用Google Sheets API的403权限不足错误
解决Google Sheets 403权限不足问题
问题根源
错误日志明确提示ACCESS_TOKEN_SCOPE_INSUFFICIENT,且涉及google.apps.drive.v3.DriveFiles.List方法——这是因为你调用client.open("test sheet")时,gspread会通过Drive API查找表格,但当前仅申请了Google Sheets的权限,未包含Drive相关权限。同时,服务账号尚未获得测试表格的访问权限。
修复步骤
扩展授权范围
修改代码中的scopes列表,添加Drive API权限。基础读写场景推荐添加只读权限,若需创建、删除表格等操作可使用全权限(生产环境不建议):# 基础读写场景推荐(包含Drive只读+Sheets读写) scopes = [ 'https://www.googleapis.com/auth/spreadsheets', 'https://www.googleapis.com/auth/drive.readonly' ] # 全权限测试用(生产环境谨慎使用) # scopes = ['https://www.googleapis.com/auth/drive']给服务账号共享测试表格
- 打开
google_keys.json,找到client_email字段,复制该邮箱地址(格式类似xxx@xxx.iam.gserviceaccount.com) - 打开你的
test sheet表格,点击右上角的「共享」按钮 - 粘贴刚才复制的邮箱,选择「编辑」权限(需写入操作),点击发送
- 打开
重新运行代码
修改完权限范围并完成共享后,重新执行Python代码即可正常读写表格。
内容的提问来源于stack exchange,提问作者darren
相关产品推荐
相关产品推荐

