dialogflow-es - 在 Google Dialogflow 中,如何保存变量直到会话结束
问题描述
在会话结束之前,我无法将令牌保存为变量。此令牌将用于进一步的 API。这是我的代码
'use strict';
const axios = require('axios');
const functions = require('firebase-functions');
const {WebhookClient} = require('dialogflow-fulfillment');
const {Card, Suggestion} = require('dialogflow-fulfillment');
const {Payload} = require('dialogflow-fulfillment');
var token = "";
function login(agent) {
const email = agent.parameters.email;
const password = agent.parameters.password;
const baseurl = "http://demo:3000/login/buyerlogin";
var data = { email: email, password: password };
return axios
.get(baseurl, { data: { email: email, password: password } })
.then((result) => {
if (result.data.status == 200) {
agent.add("Login Successfully ");
agent.add("Select an option to proceed with other queries ");
token = result.data.token; //token will be used for further APIs
agent.add(
new Payload(agent.UNSPECIFIED, payloadlog, {
rawPayload: true,
sendAsMessage: true,
})
);
}
})
.catch((error) => {
agent.add("else " + error.message);
});
}
我想保存令牌直到会话结束。请帮我解决这个问题。谢谢你
解决方案
您可以将这些值保存在您设置并稍后在 webhook 中读取的持久上下文的参数中。
在 Context 的参数中设置令牌值可能类似于
agent.context.set('info', 99, {
token: token
});
您稍后可以使用类似的内容获取该上下文和令牌值
const infoContext = agent.context.get('info');
const token = infoContext.parameters.token;
推荐阅读
- java - Java FileDialog browse and read from file
- android - GPS跟踪系统?
- python - 如何在python中获取属性的setter方法的属性
- c - 源路径中有空格时 VS Code 调试失败
- python - Any way to read number of active workers of gunicorn managed by the arbiter from command line?
- c++ - Access static variable from CPP file to other header file
- angular - Angular 2 Route Translation
- node.js - 'apidoc' is not recognized as an internal or external command
- kernel - 内核问题,试图解决触摸板问题
- c# - (统一)溢出异常??实施无代码 IAP