chatbot - 对话框流 (api.ai) Webhook 请求中的设备位置

标签 chatbot dialogflow-es actions-on-google

我正在为 Google Assistant 开发 Dialogflow 聊天机器人,在此处的 webhook 请求 JSON 示例中:

https://developers.google.com/actions/reference/v1/dialogflow-webhook

webhook 接收设备数据,包括其位置:

"device": {
       "location": {
           "coordinates": {
               "latitude": 123.456,
               "longitude": -123.456
           },
           "formatted_address": "1234 Random Road, Anytown, CA 12345, United States",
           "zip_code": "12345",
           "city": "Anytown"
       }
   }

由于某种原因,我的 webhook 未接收任何设备数据(“device” key 完全丢失)。有谁知道我做错了什么或者如何包含这些数据?

最佳答案

您需要ask for the user's location permissions第一的。然后,它们的位置将在请求 JSON 中提供。这是一个很好的example如何做到这一点。

请注意,您可以请求两种不同类型的位置:

DEVICE_PRECISE_LOCATION 将为您提供准确的纬度经度DEVICE_COARSE_LOCATION 将为您提供更广泛的位置信息。通常,最好只使用应用程序所需的侵入性最小的权限,因此,如果您的应用程序可以适应粗略的位置,那么您应该选择它。

请注意,您正在查看 v1 API,该 API 已弃用并计划在不久的将来删除。确保您正在使用 v2 documentation .

关于chatbot - 对话框流 (api.ai) Webhook 请求中的设备位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47484354/

相关文章:

javascript - 发送图像而不显示不和谐库的链接

python - Dialogflow/Api.ai 使用 Webhook 发送提示问题

google-oauth - 与 Actions on Google 关联的帐户,应在数据库中保留哪个字段?

authentication - 无法在 Google 操作中使用隐式/授权流程来授权用户

c# - Azure 给出启动应用程序错误

python - 从 Tensorflow 转换 -> CoreML 3.0 用于插槽/意图检测

javascript - Dialogflow Agent 在 Google 模拟器中工作,在控制台和网络链接中失败

node.js - 代码正确运行并在控制台上打印成功消息,但不在应用程序中打印

go - 如何从 Golang 中的 dialoflow webhook 启动 FollowupEvent

actions-on-google - 如何在 Google 助理响应中添加几秒钟的休息/暂停