Actions on google 使用dialogflow从Google Actions请求设备位置

Actions on google 使用dialogflow从Google Actions请求设备位置,actions-on-google,dialogflow-es,google-home,Actions On Google,Dialogflow Es,Google Home,我正在使用dialogflow开发聊天机器人,使用google上的操作获取用户的位置,我使用的服务器端代码如下 const functions = require('firebase-functions'); const DialogflowApp = require('actions-on-google').DialogflowApp; exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, re

我正在使用dialogflow开发聊天机器人,使用google上的操作获取用户的位置,我使用的服务器端代码如下

const functions = require('firebase-functions');
const DialogflowApp = require('actions-on-google').DialogflowApp;

exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {

const requestPermission = (app) => {
  app.askForPermission('To locate you', app.SupportedPermissions.DEVICE_PRECISE_LOCATION);
};

const userInfo = (app) => {
    if (app.isPermissionGranted()) {
        const address = app.getDeviceLocation().address;
        if (address) {            
            app.tell(`You are at ${address}`);
        }
        else {
            // Note: Currently, precise locaton only returns lat/lng coordinates on phones and lat/lng coordinates 
            // and a geocoded address on voice-activated speakers. 
            // Coarse location only works on voice-activated speakers.
            app.tell('Sorry, I could not figure out where you are.');
        }
    } else {
        app.tell('Sorry, I could not figure out where you are.');
    }
};

const app = new DialogflowApp({request, response});
const actions = new Map();
actions.set('request_permission', requestPermission);
actions.set('user_info', userInfo);
app.handleRequest(actions);
}); 
以下是我使用的意图的屏幕截图:


一旦我触发了请求权限意图,这将向我的应用程序发送一个动作请求权限,并根据我的服务器端代码运行助手方法
askForPermission(…)
,该方法将发送一个
占位符
来响应谷歌上的动作,该动作将进一步触发“要找到你,我只需要从谷歌上获取你的街道地址。可以吗?”消息并将此作为响应返回到dialogflow,但我在dialogflow中收到的是作为响应的占位符,而不是作为响应的占位符。有人能帮我解释一下我在这里遗漏了什么吗?有什么建议吗…

要请求权限,你应该在代理端,如google assistance或facebook,并且你的示例运行良好仅在google assistance上,但您无法直接在dialgflow上进行测试。

因此,这在Actions模拟器中运行良好,但在Dialogflow模拟器中不起作用?@NickFelker是的,这在google assistant模拟器中运行良好,但在Dialogflow上的其他集成(如web demo等)上不起作用。好的,这是预期的。一些功能,如请求许可只是Google平台上操作的一部分,而Dialogflow一般不提供。