首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >5秒后通过api.ai提供从服务到接口的响应

5秒后通过api.ai提供从服务到接口的响应
EN

Stack Overflow用户
提问于 2017-06-21 18:13:27
回答 1查看 130关注 0票数 1

我的服务在请求之后向api.ai发回一个异步响应,该响应显示在用户界面上(Slack、Skype等)。

但在请求的操作完成后(5秒后),我无法向接口发送响应。

代码语言:javascript
复制
const apiai = require('apiai');

module.exports = (server, config) => {
  const app = apiai('<Client access token>');
  server.post('/', (req, resp) => {

    let body = '';
    req.on('data', function(data) {
      body += data;
    });
    req.on('end', function() {
      body = JSON.parse(body);
      resp.send({
        speech: 'Please wait...',
      });

      const sessionId = body.sessionId;

      setTimeout(() => {
        const evt = app.eventRequest({
          name: 'testevent', data: { },
        }, { sessionId });

        evt.on('response', resp2 => {
          debugger;
        });
        evt.on('error', err => {
          debugger;
        });
        evt.end();

      }, 10 * 1000);
    });
  });
};

在对象resp2中,我看到result.fulfillment.speech具有响应文本,该文本应该已经发送到接口。但事实并非如此。

有没有办法做到这一点?

EN

回答 1

Stack Overflow用户

发布于 2017-06-27 02:37:07

你的问题中的代码使用了Api.ai的API,该API用于将Api.ai代理嵌入到您自己的应用程序中。这背后的意图是让您实现/使用您自己的聊天/消息传递系统,然后通过此接口将与用户对话中的事件和文本发送到Api.ai,它将为您提供响应(如您所见),然后您可以使用来自API的响应并在您自己的聊天/消息传递系统中响应您的用户:https://docs.api.ai/docs/query

听起来您有兴趣让您的Api.ai代理直接与Slack和Skype等聊天平台集成。如果是这样的话,你应该看看Api.ai的集成文档:https://docs.api.ai/docs/integrations

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

https://stackoverflow.com/questions/44673208

复制
相关文章

相似问题

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