0

我有一个从 AOG + Dialogflow 迁移到 Actions Builder 的项目构建。我需要使用 REST API 更新(或插入新的)类型条目。要执行该操作,我找到了一个端点,它可以更新整个项目以及实体: https ://developers.google.com/assistant/actions/api/reference/rest/v2/projects.draft/写

但是,由于 401 错误,我无法连接到该端点。在此之前,我尝试模拟对另一个端点的类似请求,它允许读取项目:

https://developers.google.com/assistant/actions/api/reference/rest/v2/projects.draft/read

显然,我在这里遇到了同样的错误。另外,我发现了这个 repo - https://github.com/actions-on-google/assistant-actions-nodejs 它添加了一个包装器以便于使用 REST API 进行操作,但它也不包含任何关于如何正确授权访问应用程序。

有人可以建议应该如何授权才能开始使用这个 REST API 吗?

4

1 回答 1

0

使用 Actions Builder,可以直接在 webhook 调用中更新类型实体,而不是并行调用 API。

在 Actions Builder 中查找要覆盖的类型的名称并conv.session.typeOverrides在响应中设置该字段。

这是如何完成的代码示例:

const app = conversation()

// `app.middleware` will run on every invocation call
app.middleware(conv => {
  // ...
  // Obtain `trackTitles` and `trackGenres`
  // ...
  conv.session.typeOverrides = [{
    name: 'track',
    mode: Mode.TypeReplace,
    synonym: {
      entries: Array.from(trackTitles).map(title => ({
        name: title,
        synonyms: [title],
      })),
    },
  }, {
    name: 'genre',
    mode: Mode.TypeReplace,
    synonym: {
      entries: Array.from(trackGenres).map(genre => ({
        name: genre,
        synonyms: [genre]
      }))
    }
  }]
})
于 2022-01-21T18:21:16.517 回答