我在使用Big-Query API的java应用程序执行查询时遇到以下JSON异常。以下是我得到的例外情况:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "accessDenied",
"message": "Access Denied: Job eco-span-847:job_LyHmZIvlY1_0J8JQ3pxThEBf19I: The user does not have permission to run a query in project eco-span-847"
}
],
"code": 403,
"message": "Access Denied: Job eco-span-847:job_LyHmZIvlY1_0J8JQ3pxThEBf19I: The user does not have permission to run a query in project eco-span-847"
}
}
为什么会发生这种情况?我该如何解决这个问题?
答案 0 :(得分:6)
要在项目中插入查询作业,调用用户必须至少是项目的Reader。
使用BigQuery API时,您需要为某些用户构建具有OAuth凭据的客户端。对于程序化访问,这通常是服务帐户标识。创建新服务帐户时,该帐户不会自动为您的项目添加成员资格角色。
要更新作为项目成员的用户和服务帐户,请转到项目的https://console.developers.google.com/,在导航面板中选择“权限”,并确保您使用的用户或服务帐户身份是该项目的“读者”。
答案 1 :(得分:0)
如果以上不满足,请与项目的所有者/管理员沟通以添加它们。