google-bigquery - googleapis bigquery listjobs 未返回任何结果
问题描述
我正在测试一些代码来调用 googleapis bigquery listjobs REST API。我要去:
https://bigquery.googleapis.com/bigquery/v2/projects/PROJID/jobs
使用从服务帐户生成的访问令牌。结果从不包括工作细节,只是:
{
"etag": "tAZvk1k2f2GY8yHaQF7how==",
"kind": "bigquery#jobList"
}
如果我从 bq cli 工具或文档中的“try this api”表单进行调用,我会得到结果。如果我切换到列出数据集,我也会得到结果。查询中有什么明显的错误吗?
解决方案
默认情况下,BigQuery 列表作业 API仅返回由发出请求的用户启动的作业。bq
CLI /“尝试此 API”和您的 REST API 调用之间的区别在于CLIbq
以您的 Google 帐户发出请求,但您使用的是 REST API 的服务帐户。
将allUsers
查询参数设置true
为列出项目的所有作业。
https://bigquery.googleapis.com/bigquery/v2/projects/PROJID/jobs?allUsers=true
注意:您的服务帐号需要具有 BigQuery Admin IAM 角色才能发出此类请求。
推荐阅读
- sql - 编写 Postgres 函数时“执行不存在”
- javascript - 如何从 JAVA 后端共享验证规则(约束)到 JS 前端
- laravel-5 - Laravel - 安装新库 - 删除/降级供应商包
- ios - 定义一个可以在运行时在视图之间切换的故事板
- javascript - 在本地主机上从 JavaScript 向 c# 发送 https 请求
- javascript - 自动滚动不会滚动到元素,损坏的 JS
- c# - 强制类型变量为特定的基类类型
- php - 条件逻辑和自定义 FB 像素集成到 WooCommerce
- git - 使用 git bash 时出现此错误的原因是什么
- chef-infra - 如何让 Chef 出错或至少报告 .erb 模板中缺少的变量?