API调用bigquery.jobs.query失败,错误:Access Denied: Project ppc-big



我创建了一个Google Sheet,通过侧边栏从Big Query中提取数据。当我通过自定义菜单运行函数或从编辑器执行函数时,我能够获得数据。该函数只是在BQ中查询一个表,并输出表中的数据。

然而,当我试图通过侧栏中的提交按钮运行该函数时,我得到了一个错误。我使用google.script.run在HTML文件中执行应用程序脚本功能。下面是我得到的错误:

错误:GoogleJsonResponseException: API调用bigquery.jobs.query失败,错误:Access Denied: Project xxx:用户在Project xxx中没有bigquery.jobs.create权限。

再次,我能够从自定义菜单或从编辑器访问BQ,这意味着我可以访问BQ,我相信。所以我不知道如何解决这种错误。我一直试图在互联网上寻找解决方案,但无济于事。我希望有人能帮忙。提前感谢!

此错误告诉您缺少Apps脚本所需的角色。

如何解决这个问题:

需要告诉管理员在Google Cloud IAM中添加Edit your existing role,并添加bigquery.jobs.create。您还可以添加其他角色,如bigquery.jobUserbigquery.user,这两个角色有bigquery.jobs.create和其他角色。

为什么会发生这种情况?

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

你可以在这里看到所有的BigQuery角色。

相关内容

最新更新