我创建了一个 Google 表格,它通过侧边栏从 Big Query 中提取数据。当我通过自定义菜单运行该功能或从编辑器执行该功能时,我能够获取数据。该函数只是简单地查询 BQ 中的一个表,并输出工作表中的数据。
但是,当我尝试通过边栏中的提交按钮运行该函数时出现错误。我在 HTML 文件中使用 google.script.run 来执行 Apps 脚本功能。这是我遇到的错误:
错误: GoogleJsonResponseException:对 bigquery.jobs.query 的 API 调用失败,出现错误:访问被拒绝:项目 xxx:用户在项目 xxx 中没有 bigquery.jobs.create 权限。
同样,我可以从自定义菜单或编辑器访问 BQ,这意味着我可以访问 BQ,我相信。所以我不确定如何解决这种错误。我一直试图在互联网上寻找解决方案,但无济于事。我希望有人能帮帮忙。提前致谢!
最佳答案
此错误告诉您缺少 Apps 脚本所需的角色。
如何解决这个问题:
您需要告诉管理员Edit your existing role
在 Google Cloud IAM 中并添加 bigquery.jobs.create
。您可以添加其他角色,例如 bigquery.jobUser
和 bigquery.user
,这两个角色有 bigquery.jobs.create
等角色。
为什么会这样?
有不同的 BigQuery 角色,也许你可以看到数据,你可能有 Bigquery DataViewer 角色或 BigQuery Editor 角色,这两个角色允许你读取你项目的数据,但他们没有应用程序的特定角色脚本需要使用。
关于html - 对 bigquery.jobs.query 的 API 调用失败,错误为 : Access Denied: Project ppc-big-query: User does not have bigquery. jobs.create 权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72339579/