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

时间:2017-11-25 09:17:31

标签: chatbot dialogflow actions-on-google

我正在使用Google智能助理的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没有收到任何设备数据(“设备”键完全丢失)。有谁知道我做错了什么或如何包含这些数据?

1 个答案:

答案 0 :(得分:6)

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

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

DEVICE_PRECISE_LOCATION会为您提供准确的latitudelongitude,而DEVICE_COARSE_LOCATION会为您提供更广泛的位置信息。一般来说,只使用您的应用程序所需的最少侵入性权限是一种好习惯,因此如果您的应用程序可以适应粗略位置,那么您应该选择它。

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