使用用户账号对安装式应用进行身份验证
本指南介绍了在您的应用已安装到用户机器上的情况下,如何使用用户账号执行身份验证,以获得 BigQuery API 的访问权限。
如需确保应用仅访问最终用户可用的 BigQuery 表,请使用用户凭据进行身份验证。用户凭据只能对最终用户的 Google Cloud 项目(而非应用的项目)运行查询。因此,系统会按查询(而非应用)向用户收取费用。
准备工作
- 创建一个代表已安装的应用的 Google Cloud 项目。
- 安装 BigQuery 客户端库。
-
安装身份验证库。
Java
如果您使用的是 Maven,请在 Pom 文件中添加以下依赖项。
Python
安装用于 Google 身份验证的 oauthlib 集成。
pip install --upgrade google-auth-oauthlib
Node.js
安装用于 Google 身份验证的 oauthlib 集成。
npm install google-auth-library
npm install readline-promise
设置您的客户端凭据
使用以下按钮选择项目并创建所需的凭据。手动创建凭据
- 进入 Google Cloud 控制台中的凭据页面。
- 填写 OAuth 同意屏幕中的必填字段。
- 在凭据页面上,点击创建凭据按钮。
选择 OAuth 客户端 ID。
- 选择桌面设备作为应用类型,然后点击创建。
-
点击下载 JSON 按钮以下载凭据。
将凭据文件保存到
client_secrets.json
。此文件必须随应用一起分发。
API 的身份验证与调用
-
使用客户端凭据执行 OAuth 2.0 流程。
Java
Python
Node.js
- 使用经过身份验证的凭据连接到 BigQuery API。
Java
Python
Node.js
当您运行示例代码时,它将启动一个浏览器,请求授予权限来访问与客户端密钥关联的项目。您可以使用所得到的凭据访问用户的 BigQuery 资源,因为示例代码请求的是 BigQuery 范围。