为什么我的Google Home会在Google社群操作请求中发送空位置字段?

时间:2018-01-20 13:50:45

标签: actions-on-google google-home

我一直在跟踪template on GitHub与Google上的操作提供的位置API集成。

它在模拟器中工作得很好,甚至在Google Phone for Phones上工作正常,也就是说,我要么提供一个lat / lon对,要么根据设备是否有屏幕提供粗略位置。

但是,在我的实体Google Home设备上,响应中的位置字段为空,我无法找出原因。

一步,我用

请求许可
app.askForPermission(Responses.permissionReason(), app.SupportedPermissions.DEVICE_COARSE_LOCATION);

在我的后续步骤中,我会检查是否已授予权限并继续:

if (!app.isPermissionGranted()) {
  return Promise.reject(new Error('Permission not granted'));
}
const location = app.getDeviceLocation();

如果我从Google主页开始此对话,getDeviceLocationundefined

查看请求,明确授予了权限,但位置字段为空:

<snip>
"user": {
    "userStorage": "{\"data\":{}}",
    "lastSeen": "2018-01-20T10:50:01Z",
    "permissions": [
        "DEVICE_COARSE_LOCATION"
    ],
    "locale": "en-GB",
    "userId": "<redacted>"
},
"device": {
    "location": {}
},
</snip>

完整请求here

我无法在文档中找到有关为什么会发生这种情况的任何信息。有人能填补我吗?

1 个答案:

答案 0 :(得分:1)

检查以确保您的Google Home在配置中为其设置了位置。如果您已将其配置为语音识别,请确保您的语音被识别,而不是通用帐户。