要允许您的应用代码使用 Video Intelligence API,您必须为应用设置适当的凭据,以便向服务验证其身份并获得执行任务的授权。(这些凭据相关机制称为身份验证方案。)
Google Cloud API 身份验证和授权(通常分组为“身份验证”)通常使用服务帐号来完成。通过服务帐号,您的代码可以将应用凭据直接发送到 Video Intelligence API。与用户帐号类似,服务帐号由电子邮件地址表示。与用户帐号不同,服务帐号仅与应用相关联。
启用 API
您必须先启用 Video Intelligence API,然后才能进行身份验证。
-
登录您的 Google 帐号。
如果您还没有 Google 帐号,请注册新帐号。
-
在 Google Cloud Console 的项目选择器页面上,选择或创建一个 Google Cloud 项目。
-
确保您的 Cloud 项目已启用结算功能。 了解如何确认您的项目是否已启用结算功能。
- 启用 Cloud Video Intelligence API。
- 设置身份验证:
-
在 Cloud Console 中,转到创建服务帐号密钥页面。
转到“创建服务帐号密钥”页面 - 从服务帐号列表中,选择新的服务帐号。
- 在服务帐号名称字段中,输入一个名称。
- 请勿从角色列表中选择值。访问此服务不需要角色。
- 点击创建。此时会出现一条提醒,警告此服务帐号没有角色。
- 单击创建无角色帐号。包含密钥的 JSON 文件就会下载到计算机。
-
-
将环境变量
GOOGLE_APPLICATION_CREDENTIALS
设置为包含您的服务帐号密钥的 JSON 文件的路径。 此变量仅适用于当前的 shell 会话,因此,如果您打开新的会话,请重新设置该变量。 - 安装并初始化 Cloud SDK。
在 Cloud Console 中创建服务帐号
要使用 Google Cloud Console 创建服务帐号,请执行以下操作:
在 Cloud Console 的凭据页面中,选择创建凭据 > 服务帐号密钥。
接下来,在服务帐号下选择新建服务帐号。
在服务帐号名称框中,输入服务帐号的名称。此名称用作服务帐号 ID 的默认名称(在生成的服务帐号 ID 地址中位于“@”左侧),但您可以更改此服务帐号 ID 名称。这些名称可任意设置;只要您能记住就行。
在密钥类型下,为大多数新项目选择 JSON。
点击创建。
然后,Cloud Console 会生成一个 JSON 密钥(作为 .json
文本文件),提示您将文件下载到计算机,并显示服务帐号已创建对话框。

生成的 JSON 密钥将类似于以下示例 JSON 密钥:
{ "type": "service_account", "project_id": "project-id", "private_key_id": "some_number", "private_key": "-----BEGIN PRIVATE KEY-----\n.... =\n-----END PRIVATE KEY-----\n", "client_email": "<api-name>api@project-id.iam.gserviceaccount.com", "client_id": "...", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://accounts.google.com/o/oauth2/token", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "client_x509_cert_url": "https://www.googleapis.com/...<api-name>api%40project-id.iam.gserviceaccount.com" }
安全存储该 JSON 文件,因为其中包含您的私钥(而且该文件是该密钥的唯一副本)。向 Video Intelligence API 发送注释请求时,您必须在代码中引用此服务帐号密钥文件。
使用应用默认凭据进行身份验证
要使应用对 Video Intelligence API 进行身份验证,最简单的方法是使用应用默认凭据(ADC)。使用 ADC 的服务首先在 GOOGLE_APPLICATION_CREDENTIALS
环境变量中搜索凭据。除非您明确要求 ADC 使用其他凭据(如用户凭据),否则您应该将此环境变量设置为指向您的服务帐号密钥文件(创建服务帐号密钥时下载的 .json
文件。
$ export GOOGLE_APPLICATION_CREDENTIALS=path_to_service_account_file