如何在没有授权令牌的情况下从 python 脚本查询 google-bigquery 中的私有表?

Posted

技术标签:

【中文标题】如何在没有授权令牌的情况下从 python 脚本查询 google-bigquery 中的私有表?【英文标题】:How to query a private table in google-bigquery from a python script WITHOUT authorization token? 【发布时间】:2017-07-10 17:55:10 【问题描述】:

我正在尝试向 Google 的 BigQuery 提交查询并检索结果 - 全部来自 python 脚本。虽然有关于这样做的简单文档,但我发现从私有表/集合中查询的唯一选择是使用授权代码。但是,此 Python 脚本是通过对代码一无所知的用户使用的网页使用的 - 因此没有空间获取/提交授权代码,因为用户只需单击几个按钮即可使用网页和 Python 脚本。有没有办法获取授权码并在后台提交,或者完全没有授权码查询私有表(最佳选择)?非常感谢!

【问题讨论】:

“授权访问没有密码的东西” - 可能不是一个非常安全的想法,也可能是不可能的。 【参考方案1】:

您可以使用服务帐号:

客户端库可以使用应用程序默认凭据轻松 使用 Google API 进行身份验证并向这些 API 发送请求。和 应用程序默认凭据,您可以在本地测试您的应用程序 并在不更改底层代码的情况下部署它

https://cloud.google.com/bigquery/authentication#bigquery-authentication-python

【讨论】:

以上是关于如何在没有授权令牌的情况下从 python 脚本查询 google-bigquery 中的私有表?的主要内容,如果未能解决你的问题,请参考以下文章

如何在不使用子进程的情况下从 python 自动化脚本中运行 python 'sdist' 命令?

在没有个人访问令牌的情况下从 CI 作业中访问 Gitlab CE API?

如何在不登录的情况下从 Instagram 获取 oauth 2 访问令牌(隐式流程)?

如何在没有 \n 的情况下从 txt 中获取特定行(Python)

如何在没有 x5c 的情况下从 jwks 验证 JWT 的签名

如何在没有表单字段的情况下从表单传递数据? (PHP)