如何获取会话 Id- 对话流



我正在尝试从响应对象获取会话 ID,但这是一种有效的方法,还是还有其他可能获取会话 ID 或会话对象?

例如:request.body.sessionprojects/coffee-shop/agent/sessions/e6eb1812-9c3f-23fa-b590-f1656ee9a56e

如何获取确切的 IDe6eb1812-9c3f-23fa-b590-f1656ee9a56e而不是路径。 或如何在路径中获取会话对象projects/coffee-shop/agent/**sessions**/e6eb1812-9c3f-23fa-b590-f1656ee9a56e

是的,您可以从 WebhookClient 的代理实例中获取会话 ID:

exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
const agent = new WebhookClient({ request, response });
console.log('Dialogflow Request headers: ' + JSON.stringify(request.headers));
console.log('Dialogflow Request body: ' + JSON.stringify(request.body));
function welcome(agent) {
agent.add(`Welcome to my agent!`);
let sessionId = agent.session;
}
let intentMap = new Map();
intentMap.set('Default Welcome Intent', welcome);
agent.handleRequest(intentMap);
});

假设我们在变量req中有请求对象,我们可以使用以下 python 代码:

session_path = req['session']  

它将打印会话对象路径:
项目/咖啡店/代理/会话/E6EB1812-9C3F-23FA-B590-F1656EE9A56E

要获得确切的 ID,您只需将其与/拆分并获取列表的最后一个元素

session = req['session'].split('/')[-1]  

它将打印确切的会话 ID:
E6EB1812-9C3F-23FA-B590-F1656EE9A56E

相关内容

  • 没有找到相关文章

最新更新