如何请求用户在 API.ai 中的位置?
How can I request the user's location in API.ai?
我正在使用 api.ai 并使用 PHP 脚本作为 webhook 创建代理。 The documentation 没有明确说明如何操作,但我想请求用户粗略位置的权限,这样他们就不必为请求提供位置。
我试过回显他们提到的 JSON,并将其作为默认欢迎意图的自定义负载放入,但这些似乎都没有提示我允许使用我的位置。
如何请求用户允许获取他们的位置?
编辑:如果我将 PHP 脚本设置为使用以下 JSON 响应 intent.welcome
:
{
"data": {
"google": {
"expectUserResponse": true,
"systemIntent": {
"intent": "actions.intent.PERMISSION",
"data": {
"@type": "type.googleapis.com/google.actions.v2.PermissionValueSpec",
"optContext": "To provide an accurate experience, ",
"permissions": ["DEVICE_PRECISE_LOCATION"]
}
}
}
}
}
应用询问我"To provide an accurate experience, , I'll just need to get your street address from Google. Is that ok?"
但是,如果我说 "yes",那么该应用程序会一直询问 "Sorry, could you say that again?" 之类的内容,因此我实际上无法让它执行任何操作。
您需要创建一个事件设置为 actions_intent_PERMISSION
的新 Intent。 (见下图。)
触发此事件时,将使用请求正文中的 JSON originalRequest.data.device.location
字段调用您的 webhook,其中填充了您请求的位置信息。
我正在使用 api.ai 并使用 PHP 脚本作为 webhook 创建代理。 The documentation 没有明确说明如何操作,但我想请求用户粗略位置的权限,这样他们就不必为请求提供位置。
我试过回显他们提到的 JSON,并将其作为默认欢迎意图的自定义负载放入,但这些似乎都没有提示我允许使用我的位置。
如何请求用户允许获取他们的位置?
编辑:如果我将 PHP 脚本设置为使用以下 JSON 响应 intent.welcome
:
{
"data": {
"google": {
"expectUserResponse": true,
"systemIntent": {
"intent": "actions.intent.PERMISSION",
"data": {
"@type": "type.googleapis.com/google.actions.v2.PermissionValueSpec",
"optContext": "To provide an accurate experience, ",
"permissions": ["DEVICE_PRECISE_LOCATION"]
}
}
}
}
}
应用询问我"To provide an accurate experience, , I'll just need to get your street address from Google. Is that ok?"
但是,如果我说 "yes",那么该应用程序会一直询问 "Sorry, could you say that again?" 之类的内容,因此我实际上无法让它执行任何操作。
您需要创建一个事件设置为 actions_intent_PERMISSION
的新 Intent。 (见下图。)
触发此事件时,将使用请求正文中的 JSON originalRequest.data.device.location
字段调用您的 webhook,其中填充了您请求的位置信息。