微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么我无法访问此 node.js 应用程序中的 HTTP 调用?

如何解决为什么我无法访问此 node.js 应用程序中的 HTTP 调用?

我正在尝试使用 Twilio、AWS 和 Claudia Bot 构建一个简单的 Node Js 机器人。

我正在尝试访问 this public API,特别是当用户的文本包含“事实”一词时的“文本”部分。目前,当用户文本包含“报价”时,我可以访问第一个 API,但我无法检索该事实。

有什么想法吗?

var botBuilder = require('claudia-bot-builder');
var greeting = require('greeting');
var fetch = require('node-fetch');

var bot = botBuilder(function(message) {
  if (message.text.match(/quote/i)) {
    return fetch('http://api.forismatic.com/api/1.0/?method=getQuote&format=text&lang=en').then(function(res) {
      return res.text();
    });
  } else if (message.text.match(/fact/i)){
    return fetch('https://uselessfacts.jsph.pl/random.json?language=en').then(function(res) {
      return res.json(text);
    });
  } else {
    return greeting.random();
  }
},{ platforms: ['twilio'] });

module.exports = bot; 

解决方法

return fetch('https://uselessfacts.jsph.pl/random.json?language=en').then(function(res) {
      return res.json(text);
});

此处 text 未定义,因此将返回错误。而是试试这个:

fetch('https://uselessfacts.jsph.pl/random.json?language=en').then(function(res) {
      return res.json();
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。