问题标签 [actions-builder]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
226 浏览

actions-on-google - Google Actions 未在履行请求中传递用户信息(访问令牌/身份令牌)

问题: Google 操作构建器实现似乎没有在请求中发送用户访问令牌

描述: 我正在将一个机器人从对话流助手集成迁移到操作构建器 ( https://codelabs.developers.google.com/codelabs/actions-1/#0 )。由于我需要用户信息来处理请求,因此我将使用与 oauth 身份验证代码流关联的帐户。由于我已经使用 dialogflow-google 助手集成构建了一个机器人,因此我的 Auth 服务器运行没有任何问题。

问题似乎仅与谷歌操作有关,即使在用户帐户被链接之后,操作执行请求似乎也没有发送用户访问令牌。

谷歌操作发送的网络请求:

用户帐户已关联

我还检查了令牌端点是否返回了谷歌访问所需的所有令牌。附上它的示例响应。

奇怪的是,在 dialogflow-google 助手集成中,相同的设置工作正常,在履行请求中发送用户访问令牌。

我已按照随附文章中的步骤操作: https ://developers.google.com/assistant/identity/oauth2?oauth=code

0 投票
1 回答
131 浏览

actions-on-google - 使用 Actions builder webhook 实现的语音偏见

我正在关注附件中的实现 webhook 响应格式的文章。https://developers.google.com/assistant/conversational/webhooks?tool=sdk#provide_speech_biasing

由于某种原因,一旦我添加了语音偏差部分,webhook 就会失败并显示错误消息“不成功的 webhook 调用:无法将 JSON 转换为 ExecuteHttpResponse..”

示例请求: Webhook 格式

我有什么特别的遗漏吗?

0 投票
0 回答
100 浏览

actions-on-google - 为什么没有触发 NO_MATCH 系统 Google Assistant 事件?

我的 Google Action 设置如下:

类型- 游戏模式:

  • 生存
  • 有创造力的

意图- CMD_SET_GAMEMODE:

  • 训练短语:
    • 将游戏模式更改为创意
    • 应用创意游戏模式

场景- 命令:

  • 自定义意图处理
    • 当 CMD_ANOTHER_COMMAND 匹配时
    • 当 CMD_SET_GAMEMODE 匹配时 - 转换到 CMD_SET_GAMEMODE_SlotFilling

场景- CMD_SET_GAMEMODE_SlotFilling:

  • 条件:如果 scene.slots.status == "FINAL" 调用我的 webhook
  • 槽填充
    • 游戏模式:提示 NO_MATCH - 默认值

这是我测试对话框时发生的情况 -

  1. 输入change game mode to survival- 工作正常,我的 webhook 被称为
  2. 输入change game mode- 获取Sorry, My Action isn't responding right now. Please try again soon.
  3. 输入change game mode to something- 获取Sorry, My Action isn't responding right now. Please try again soon. 当我检查日志时,我看到错误发生endConversationCMD_SET_GAMEMODE_SlotFilling现场事件中。

我不明白为什么不使用 NO_MATCH 提示?

0 投票
1 回答
181 浏览

actions-on-google - “您正在测试您在项目中创建的操作:[[另一个项目]]”

我正在努力让 Google示例正常工作。

我认为我正确地遵循了说明,但是现在,在测试(in project-y)时,我收到了警告:

您正在测试您在项目中创建的操作:project-x

我以前用过project-x,但后来被删除了。我试过删除项目并重新创建、重新部署等,但我完全无法避免错误。

我无法确定project-y引用的位置project-x以及如何更正。

唯一project-[x|y]被引用的位置是./sdk/setting/setting.yaml

当 Igactions push和时gactions preview deploy,两个命令都正确引用project-y并且生成的 URL 正确指向project-y

我已经在gactionsconfig 和克隆目录中搜索了隐藏的配置文件,但找不到任何对project-x.

如果我搜索,我发现的唯一参考是project-y上述 YAML 中的单一参考。

操作控制台:测试

0 投票
1 回答
200 浏览

java - 如何为新的 Google 操作构建器构建 Java webhook

我过去为 dialogflow 创建了 java webhook,其中曾经完成 1-1 的意图映射。现在我正在使用操作构建器,而不是了解如何使用 Java 定义和构建处理程序。

在 @ForIntent 用于将意图映射到 java 方法之前。现在我应该如何将方法映射到任何场景或处理程序。

0 投票
1 回答
269 浏览

actions-on-google - 如何将系统意图(例如 actions.intent.MEDIA_STATUS_FINISHED)添加到 Google Assistant Action Builder

如何在 Action Builder 中向场景添加系统意图?

例如,我想添加一种媒体意图:actions.intent.MEDIA_STATUS_STOPPED, actions.intent.MEDIA_STATUS_PAUSED,...

当您尝试将其中之一添加到场景中时,您将收到错误消息:

名称只能包含字母、数字和下划线。名称也必须以字母开头。

如果您尝试在没有“actions.intent”的情况下添加它。部分,例如MEDIA_STATUS_STOPPED它将被视为用户的自定义意图。正因为如此,它不会处理任何针对 Media 对象状态更改的回调。

文档对此保持沉默。

0 投票
1 回答
192 浏览

python - 如何在 Python 中向 Google 上的操作发送响应?

我正在做一个行动谷歌助手。我可以通过使用 Flask 在 Python 中建立 webhook 来接收 JSON 格式的请求。但我不知道如何将响应发送回助手。 在此处输入图像描述 在此处 输入图像描述

0 投票
0 回答
117 浏览

actions-on-google - 获取支持的语言环境(en-US)的 actions.type.DigitalPurchaseCheckResult 的 CANNOT_PURCHASE 并启用 Access Play 购买应用程序

获取支持的语言环境(en-US)的 actions.type.DigitalPurchaseCheckResult 的 CANNOT_PURCHASE 并启用 Access Play 购买应用程序

设想:

  1. Actions 控制台 > 目录信息 > 其他信息 > 您的 Actions 是否使用数字购买 API 来执行数字商品交易?- 是的:

  2. 操作控制台 > 品牌验证:

  • 网站:连接网站 (https://my_website.com/)
  • Android 应用程序:我的应用程序、com.mycompany.app、状态 - 已连接、访问 Play 购买 - 已启用
  1. Actions Console > Scenes > DigitalPurchaseCheck 根据文档完成

  2. 主调用使用 DigitalPurchaseCheck 场景作为转换。

  3. 调用测试应用程序和处理“if scene.slots.status == "FINAL" && session.params.DigitalPurchaseCheck.resultType == "CAN_PUR​​CHASE"" 条件的 webhook 永远不会被调用。相反,会调用处理“else if scene.slots.status == "FINAL"”的 webhook。

  4. 在 DigitalPurchaseCheck 验证期间收到的 webhookRequest 如下所示:

如您所见,语言环境支持数字交易:"locale": "en-US"但结果始终是:"resultType": "CANNOT_PURCHASE"

该文档包含有趣的评论:“2. a. 验证交易要求:在为用户提供购买选项之前,确保用户的帐户已设置为执行交易是一种很好的做法。此步骤包括检查用户是否拥有付款方式已配置,并且它们位于支持数字交易的区域。为此,您应该转换到执行数字购买检查的场景。

因此,就我而言,第二个条件已经满足:它们位于支持数字交易的语言环境中

但看起来第一个条件(检查用户是否配置了付款方式)可能会导致验证失败。我正在使用我的开发帐户进行测试。但是文档没有提到应该配置为测试交易流的任何其他内容。

在模拟器和真实设备(Home Mini、Nest Hub、Android 上的 Google Assistant)中测试。

能否请你帮忙!

0 投票
1 回答
89 浏览

actions-on-google - 为什么@assistant/conversation 中没有轮播

如果没有,我想使用两张以上的卡。如果没有,我想知道如何使用 List(列表代码示例)。

绝对不是 Dialogflow 代码!我需要 ActionsOnGoogle 代码。

寻找 ActionsOnGoogleFulfillment 文档和示例/示例代码链接。

0 投票
2 回答
109 浏览

actions-on-google - Google 助理接管了我的操作的命令

从几天前开始,我的行为就出现了问题。应该由我的操作处理的查询被路由到 Google Assistant 主流程。这发生在 Android 手机和 Google Home 上。

复现步骤:

  • 说话:好的谷歌,和 Tinker Doodle 说话。
  • 助理:欢迎来到 Tinker Doodle,有什么可以为您服务的吗?
  • 说话:可用的命令。
  • 助理:(突然结束 Tinker Doodle 对话,列出助理上的一般命令。)

我希望 Google 助理能继续参与 Tinker Doodle 对话,并将输入反馈到我的操作中。

这使得 Tinker Doodle 几乎无法使用。你能帮忙吗?

我配置了 NO_MATCH 系统意图来调用我的 webhook,因为我使用自己的 NLP。

这在 Android Phone 和 Google Home 上运行良好,直到几天前。在 Action Builder 的模拟器中运行没有问题。

这是来自 Action Builder 的主要场景和 NO_MATCH 意图的屏幕截图。

在此处输入图像描述 在此处输入图像描述