const API_AI_TOKEN = 'my token here';
const apiAiClient = require('apiai')(API_AI_TOKEN);
const apiaiSession = apiAiClient.textRequest('hi', {sessionId: 'test'});
apiaiSession.on('response', (response) => {
const result = response.result.fulfillment.speech;
console.log(result);
});
apiaiSession.on('error', error => console.log(error));
我在Dialogflow中配置了一个小谈和测试,我应该收到"嘿"我回来了nothing.. 我尝试了客户端和开发令牌
答案 0 :(得分:0)
问题是我有义务用apiaiSession.end结束会话()
答案 1 :(得分:0)
问题是我有义务用apiaiSession.end()
结束会话
您没有义务结束会话。你正在做什么,这不是一个会议,这是一个请求。
如果没有.end()
,请求永远不会完全发送,因此您永远不会收到回复。
我尝试了客户端和开发令牌
您必须使用dev令牌。
以下是代码的编写方式:
const API_AI_TOKEN = 'my token here'; // You need dev token
const apiAiClient = require('apiai')(API_AI_TOKEN);
const request = apiAiClient.textRequest('hi', {sessionId: 'test'});
request.on('response', (response) => {
const result = response.result.fulfillment.speech;
console.log(result);
});
request.on('error', error => console.log(error));
request.end(); // This.
会话由Dialogflow管理,因此只要您为每次用户互动发送相同的sessionId
,就可以了。
来自docs:
用户实体和会话持续30分钟。