通过 API 更新 DialogFlow 代理的实体条目列表

Updating List of Entity Entries of DialogFlow Agent via API

一直在寻找一种方法,通过 DialogFlow API 以编程方式为某个 entity type 更新我们代理的 entity entries。目的是定期自动更新我们的 entity entries(因为我们的 entries 每天都会更改)。

在批量更新 entity entries 时遇到了这个 documentation page by Google,但在测试时无法获得比 404 更好的东西。

已尝试使用提供的路径通过 Postman 发送 POST,并在 URL 中插入我的项目名称,但我相信我可能犯了天真的错误,因为我是这个领域的新手(特别是REST-东西)

下面是当前 404 使用的响应和路径的示例。

我们只是想克服 404 错误,一旦我们设置了联系方式,就应该能够解决身份验证和其他问题。

您需要考虑几件事。

URL 应该是这样的: https://dialogflow.googleapis.com/v2/projects/julia-development-2/agent/entityTypes/actual_id/entities:batchUpdate

  • 你在URL中使用的"parent"只是路径参数的名称
  • 确保 "julia-development-2" 是您的 GCP 项目的 ID 而不仅仅是名称 (提示:当您在google云控制台中点击drop-down选择某个GCP项目时,该项目的名称和ID都会在列表中可见)
  • 将"actual_id"替换为实体类型id

与认证相关:

  • 您需要授权中的不记名令牌header
  • 要获得此令牌,您首先需要从您的项目服务帐户下载一个 JSON 密钥,并将 GOOGLE_APPLICATION_CREDENTIALS 环境变量设置为指向您的 JSON 文件。有关设置服务帐户和下载 JSON 密钥的更多详细信息,您可以在此处找到:https://cloud.google.com/dialogflow/docs/setup
  • 要从命令行获取令牌,您可以使用

    gcloud auth application-default print-access-token