使用多个项目

在某些情况下,您可能需要创建多个 Google Cloud 项目才能使用 Dialogflow:

  • 您可能会发现,创建一个项目以进行身份验证、配额和结算,并为代理数据创建额外的项目。
  • 每个项目针对每个区域最多只能有一个代理。如果您需要在同一区域中使用多个代理,则需要多个项目。

使用方和资源项目

当您调用 API 时,通常提供用于身份验证的服务帐号密钥。每个服务帐号都属于特定项目,但服务帐号可能会获得访问其他项目的资源所需的角色。您进行 API 调用时会提供服务账号,而与该账号关联的项目称为使用方项目

调用 API 时,您的请求会指定代理的项目。此项目称为资源项目

例如,在以下 REST curl 请求中,与 AGENT_ID 关联的项目是资源项目,而与用于生成 TOKEN 的服务帐号关联的项目是使用方项目:

curl -X GET
    -H "Authorization: Bearer TOKEN"
    "https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/agent/AGENT_ID"

一个项目可以同时担任使用方和资源项目的角色。 代理数据、费用和配额仅与此项目相关联。

如果使用方项目和资源项目是两个不同的项目,则费用、配额限制、代理信息以及启用该 API 的要求适用于其中一个项目,或同时满足这两个项目的要求。下表显示了 API 调用与两个项目的关联:

说明 使用方项目(服务帐号项目) 资源项目(代理项目) Notes
产生费用的项目
quotas约束的项目
包含决定 Trial 或 Essentials Dialogflow 版本的代理的项目 如果您的消费者项目没有代理,请创建一个空的代理来升级到基本功能版
包含所有代理数据Trial 或 Essentials Dialogflow 版本的项目
您必须为哪些项目启用 Dialogflow API 这两种项目类型都必须启用 Dialogflow API。
在 Cloud 控制台的 API 信息中心显示 API 使用情况的项目