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

Cae*_*mon 4 chatbot actions-on-google dialogflow-es

我正在为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"
       }
   }
Run Code Online (Sandbox Code Playgroud)

由于某种原因,我的webhook没有收到任何设备数据("设备"键完全丢失).有谁知道我做错了什么或如何包含这些数据?

Map*_*psy 6

您需要先询问用户的位置权限.然后他们的位置将在请求JSON中提供.这是一个如何做到这一点的好例子.

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

DEVICE_PRECISE_LOCATION会给你他们的准确latitudelongitude,并DEVICE_COARSE_LOCATION会为您提供更广泛的位置信息.通常,良好的做法是仅使用应用程序所需的最少侵入性权限,因此如果您的应用程序可以适应粗略位置,那么您应该选择它.

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