Javascript Google BigQuery通过API访问公共数据集

Javascript Google BigQuery通过API访问公共数据集,javascript,google-bigquery,Javascript,Google Bigquery,我已在此处将数据集共享给所有经过身份验证的用户: 我可以通过Web UI从其他帐户访问它。但是,当我运行Javascript OAuth访问数据集时,我得到以下错误: Object {code: 403, message: "Access Denied: Job master-smithy-633:job_PcyI97Mklw8mbJQUWGhgCxRRKTQ: RUN_QUERY_JOB", data: Array[1], error: Object} 下面是访问数据集的代码。您可以克隆它

我已在此处将数据集共享给所有经过身份验证的用户:

我可以通过Web UI从其他帐户访问它。但是,当我运行Javascript OAuth访问数据集时,我得到以下错误:

Object {code: 403, message: "Access Denied: Job master-smithy-633:job_PcyI97Mklw8mbJQUWGhgCxRRKTQ: RUN_QUERY_JOB", data: Array[1], error: Object}
下面是访问数据集的代码。您可以克隆它以查看错误:


如何在不同的Google帐户中启用对上述共享数据集的查询?

问题不是您没有访问数据的权限,而是提出请求的用户没有在项目中运行查询作业的权限

出于计费和会计目的,所有作业(包括查询)都必须归属于云项目。项目权限设置允许谁在该项目中运行作业(因为项目负责计费)。即使您没有启用计费,这也是正确的,因为对于未计费的查询使用,有一个配额会被记入项目中


因此,您尝试在project master-smithy-c33中运行作业,发出请求的用户无权运行该作业。您可以通过google开发者控制台()设置项目权限。或者,您可以在具有运行作业权限的其他项目中运行作业。

我假定您正在谈论此权限:。我试图设置它,但它无法保存。此外,所有凭据的“我的权限”都设置为“可以编辑”。它还应该包括“可以查看”?您运行OAuth的用户是什么?是用户访问网站吗?是服务帐户吗?乔丹,我不太明白你的问题。我在Javascript代码中使用OAuth。我希望能够向其他人展示可视化效果,以便他们能够查看。因此,我将共享给所有经过身份验证的用户。当另一个用户点击页面时,对查询的Javascript调用返回403错误。此用户以其他帐户登录Google。发出请求的用户必须是您正在运行作业的项目的成员。在这种情况下,他们要么需要自己的项目,要么是master-smithy-c33的成员。嗨,Jordan,我可以共享对特定电子邮件地址的数据访问。但我正在寻找一种方式来向公众分享。这可能吗?此线程建议使用“所有经过身份验证的用户”。