html - 对 bigquery.jobs.query 的 API 调用失败,错误为 : Access Denied: Project ppc-big-query: User does not have bigquery. jobs.create 权限

标签 html google-apps-script google-bigquery

我创建了一个 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.jobUserbigquery.user,这两个角色有 bigquery.jobs.create 等角色。

为什么会这样?

有不同的 BigQuery 角色,也许你可以看到数据,你可能有 Bigquery DataViewer 角色或 BigQuery Editor 角色,这两个角色允许你读取你项目的数据,但他们没有应用程序的特定角色脚本需要使用。

可以看到here all the BigQuery roles .

关于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/

相关文章:

具有数据属性的 Jquery 和 img 画廊不起作用

javascript - 如何在成功的 ajax 请求后禁用 onclick 事件?

sql - Bigquery - json_array 从嵌套数组中提取和计算元素

python - BigQuery 中的allowLargeResults 不起作用

google-apps-script - 谷歌附加卡 : How to apply color to header text

java - BigQuery 未获取 Java 中设置的属性

javascript - 我希望一个 <li> 在单击时隐藏另一个 <li> 在同一个 <ul>

带有可点击社交媒体图标的 HTML 图像

json - 在 Google 表格中解析 JSON

json - 使用 Apps 脚本 API 创建新的 Apps 脚本文件 - 错误 - 收到无效的 JSON 负载