dialogflow (api.ai) webhook 请求中的设备位置

Device location in dialogflow (api.ai) webhook request

我正在为 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" 密钥完全丢失)。有谁知道我做错了什么或如何包含这些数据?

您需要ask for the user's location permissions first. Then their location will be made available in the request JSON. Here's a good example了解如何操作。

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

DEVICE_PRECISE_LOCATION 将为您提供确切的 latitudelongitude,而 DEVICE_COARSE_LOCATION 将为您提供更广泛的位置信息。仅使用您的应用程序所需的最少侵入性权限通常是一种很好的做法,因此如果您的应用程序可以适应粗略的位置,那么您应该选择它。

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