首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获得sessionId-对话框流

如何获得sessionId-对话框流
EN

Stack Overflow用户
提问于 2018-10-04 21:12:30
回答 2查看 3.2K关注 0票数 0

我正在尝试从响应对象获取sessionId,但这是一种有效的方法,还是有其他可能获得会话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中获取projects/coffee-shop/agent/**sessions**/e6eb1812-9c3f-23fa-b590-f1656ee9a56e会话对象

EN

回答 2

Stack Overflow用户

发布于 2018-10-05 21:20:03

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

代码语言:javascript
复制
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);
  });
票数 3
EN

Stack Overflow用户

发布于 2018-10-08 20:25:19

假设变量req中有request对象,我们可以使用下面的python代码:

代码语言:javascript
复制
session_path = req['session']  

它将打印会话对象路径: projects/coffee-shop/agent/sessions/e6eb1812-9c3f-23fa-b590-f1656ee9a56e

要获得确切的id,只需将其拆分为/,并接受列表的最后一个元素

代码语言:javascript
复制
session = req['session'].split('/')[-1]  

它将打印精确的会话id: E6eb1812-9c3f-23 23fa b590-f1656ee9a56e

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52655214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档