通过BigQuery Python API查询Google Drive联合表遇403权限错误
解决BigQuery访问Google Drive联合表的403权限错误
我之前碰到过一模一样的问题!这是因为你创建的默认应用凭据没有包含Google Drive的OAuth权限范围,导致BigQuery没法访问Drive里的电子表格。咱们一步步来搞定:
第一步:先清除现有的无权限默认凭据
运行这条命令撤销当前的默认应用凭据:gcloud auth application-default revoke第二步:重新生成包含Drive权限的凭据
用带指定scope的命令登录,确保同时包含BigQuery和Drive的权限:gcloud auth application-default login --scopes=https://www.googleapis.com/auth/bigquery,https://www.googleapis.com/auth/drive执行后会弹出浏览器让你登录授权,记得选对关联的账号,授权成功后新的凭据就会包含Drive访问权限了。
第三步:验证并测试
现在再运行你的BigQuery查询,应该就能正常访问Drive里的联合表了。如果想确认凭据的scope是否正确,可以运行这条命令查看当前的访问令牌,解码后就能看到包含的权限范围:gcloud auth application-default print-access-token
额外提示(针对服务器/非本地环境)
如果是在服务器上用服务账号访问,那你需要:
- 给服务账号授予Google Drive的访问权限(比如把Drive里的表格共享给服务账号邮箱)
- 在使用服务账号密钥的时候,确保代码或配置中指定了
https://www.googleapis.com/auth/drive这个scope
内容的提问来源于stack exchange,提问作者Dimitri Masin
相关产品推荐
相关产品推荐

