2

我正在做一个项目,谷歌助手会生成一个关于研究文章信息的卡片列表。列表中的每张卡片都有研究文章的标题和 URL。谷歌助手会询问你想研究什么主题,用户会用一两个词回复主题。我有以下问题

  1. 我知道该app.buildList()命令需要一个aliasandkey变量。我可以将它们设置为空白还是null在我的代码中,因为我认为我不需要它们

  2. 如果用户点击卡片中的 URL,浏览器会自动打开链接吗?我记得读过谷歌必须在谷歌助手应用程序中过滤和批准 URL

任何帮助,将不胜感激

4

2 回答 2

1

您可能应该为每个 API 调用填充相关字段,以便处理各种类型的用户输入。key用于识别正在说的项目。如果显示列表,您将需要使用key来识别单击了哪个。用户可以点击列表项来选择它。但是,他们也可以说他们想说的话。这就是别名有用的地方。

假设您正在获取一份学术文章列表。虽然长篇文章可能不适合表达,但它可以设计为:

function list () {
  const app = new DialogflowApp({request, response});
  app.askWithList('Alright! Here are some articles about memristors! Which do you want?',
  // Build a list
  app.buildList('Memristor Research')
    // Add the first item to the list
    .addItems(app.buildOptionItem('TITLE_OF_FIRST_PAPER',
      ['title of first paper', 'first'])
      .setTitle('Title of First Paper')
      .setDescription('S. Smith, Ph. D')
    // Add the second item to the list
    .addItems(app.buildOptionItem('TITLE_OF_SECOND_PAPER',
      ['title of second paper', 'second'])
      .setTitle('Title of Second Paper')
      .setDescription('H. Paul, Ph. D')
    )
);

}

在这个片段中,如果我说我想要第一篇文章,它会给我那个,而我不必给出完整的标题,同时仍然保持交互免提。这key将使我确定应该阅读的文章。

您可以使用论文的标题或链接 URL 来处理它并提供包含更多信息(包括 URL)的卡片。

您不需要手动批准每个 URL。该文档指出:

  • 允许链接到开发者域之外的站点。
  • 链接文字不能误导。这在批准过程中进行检查。

只要您直截了当,用户就可以通过单击卡片中的链接直接在浏览器中打开论文。

文档中提供了更多信息

于 2018-01-23T19:25:54.077 回答
0

您可以在 google 上实际创建列表,该列表应至少包含两个值,最多包含 30 个值。

对于此处的示例代码: https ://developers.google.com/actions/assistant/responses#sample_code_2

于 2018-01-24T12:16:58.270 回答