问题标签 [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.
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
actions-on-google - 使用 Actions builder webhook 实现的语音偏见
我正在关注附件中的实现 webhook 响应格式的文章。https://developers.google.com/assistant/conversational/webhooks?tool=sdk#provide_speech_biasing
由于某种原因,一旦我添加了语音偏差部分,webhook 就会失败并显示错误消息“不成功的 webhook 调用:无法将 JSON 转换为 ExecuteHttpResponse..”
示例请求: Webhook 格式
我有什么特别的遗漏吗?
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 - 默认值
这是我测试对话框时发生的情况 -
- 输入
change game mode to survival
- 工作正常,我的 webhook 被称为 - 输入
change game mode
- 获取Sorry, My Action isn't responding right now. Please try again soon.
- 输入
change game mode to something
- 获取Sorry, My Action isn't responding right now. Please try again soon.
当我检查日志时,我看到错误发生endConversation
在CMD_SET_GAMEMODE_SlotFilling
现场事件中。
我不明白为什么不使用 NO_MATCH 提示?
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
:
我已经在gactions
config 和克隆目录中搜索了隐藏的配置文件,但找不到任何对project-x
.
如果我搜索,我发现的唯一参考是project-y
上述 YAML 中的单一参考。
java - 如何为新的 Google 操作构建器构建 Java webhook
我过去为 dialogflow 创建了 java webhook,其中曾经完成 1-1 的意图映射。现在我正在使用操作构建器,而不是了解如何使用 Java 定义和构建处理程序。
在 @ForIntent 用于将意图映射到 java 方法之前。现在我应该如何将方法映射到任何场景或处理程序。
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 对象状态更改的回调。
文档对此保持沉默。
python - 如何在 Python 中向 Google 上的操作发送响应?
我正在做一个行动谷歌助手。我可以通过使用 Flask 在 Python 中建立 webhook 来接收 JSON 格式的请求。但我不知道如何将响应发送回助手。 在此处输入图像描述 在此处 输入图像描述
actions-on-google - 获取支持的语言环境(en-US)的 actions.type.DigitalPurchaseCheckResult 的 CANNOT_PURCHASE 并启用 Access Play 购买应用程序
获取支持的语言环境(en-US)的 actions.type.DigitalPurchaseCheckResult 的 CANNOT_PURCHASE 并启用 Access Play 购买应用程序
设想:
Actions 控制台 > 目录信息 > 其他信息 > 您的 Actions 是否使用数字购买 API 来执行数字商品交易?- 是的:
操作控制台 > 品牌验证:
- 网站:连接网站 (https://my_website.com/)
- Android 应用程序:我的应用程序、com.mycompany.app、状态 - 已连接、访问 Play 购买 - 已启用
Actions Console > Scenes > DigitalPurchaseCheck 根据文档完成
主调用使用 DigitalPurchaseCheck 场景作为转换。
调用测试应用程序和处理“if scene.slots.status == "FINAL" && session.params.DigitalPurchaseCheck.resultType == "CAN_PURCHASE"" 条件的 webhook 永远不会被调用。相反,会调用处理“else if scene.slots.status == "FINAL"”的 webhook。
在 DigitalPurchaseCheck 验证期间收到的 webhookRequest 如下所示:
如您所见,语言环境支持数字交易:"locale": "en-US"
但结果始终是:"resultType": "CANNOT_PURCHASE"
该文档包含有趣的评论:“2. a. 验证交易要求:在为用户提供购买选项之前,确保用户的帐户已设置为执行交易是一种很好的做法。此步骤包括检查用户是否拥有付款方式已配置,并且它们位于支持数字交易的区域。为此,您应该转换到执行数字购买检查的场景。
因此,就我而言,第二个条件已经满足:它们位于支持数字交易的语言环境中。
但看起来第一个条件(检查用户是否配置了付款方式)可能会导致验证失败。我正在使用我的开发帐户进行测试。但是文档没有提到应该配置为测试交易流的任何其他内容。
在模拟器和真实设备(Home Mini、Nest Hub、Android 上的 Google Assistant)中测试。
能否请你帮忙!
actions-on-google - 为什么@assistant/conversation 中没有轮播
如果没有,我想使用两张以上的卡。如果没有,我想知道如何使用 List(列表代码示例)。
绝对不是 Dialogflow 代码!我需要 ActionsOnGoogle 代码。
寻找 ActionsOnGoogleFulfillment 文档和示例/示例代码链接。
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 意图的屏幕截图。