首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >尝试从api - dialogflow获取json时出现解析错误

尝试从api - dialogflow获取json时出现解析错误
EN

Stack Overflow用户
提问于 2018-10-26 22:56:18
回答 1查看 248关注 0票数 0

我正在尝试从iex api获取json数据。我正在使用googles对话流的内联编辑器,当我试图从api中获取json时,我一直收到错误:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Error: Parse Error
at Error (native)
at Socket.socketOnData (_http_client.js:363:20)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
at readableAddChunk (_stream_readable.js:176:18)
at Socket.Readable.push (_stream_readable.js:134:10)
at TCP.onread (net.js:559:20)

控制台日志显示我正在请求获取json请求的正确路径(在本例中,我需要microsoft json信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
API Request: api.iextrading.com/1.0/stock/MSFT/company

我不确定为什么不能正确读取json,但我认为发生错误是因为我的代码的body变量没有接收到来自http请求的信息。我只是不确定我的代码出了什么问题。

下面是我的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
'use strict';

const http = require('http');
const functions = require('firebase-functions');

const host = 'api.iextrading.com';

exports.dialogflowFirebaseFulfillment = functions.https.onRequest((req, res)     => {
  // Get the company
  let company = req.body.queryResult.parameters['company_name']; // city is a required param

  // Call the iex API
  callCompanyApi(company).then((output) => {
    res.json({ 'fulfillmentText': output }); 
  }).catch(() => {
    res.json({ 'fulfillmentText': `I don't know this company`});
  });
});

function callCompanyApi (company) {
  return new Promise((resolve, reject) => {
    // Create the path for the HTTP request to get the company
    let path = '/1.0/stock/' + company + '/company';
    console.log('API Request: ' + host + path);

    // Make the HTTP request to get the company info
    http.get({host: host, path: path}, (res) => {
    let body = ''; // var to store the response chunks
    res.on('data', (d) => { body += d; });// store each response chunk
    res.on('end', () => {
    // After all the data has been received parse the JSON for desired data
        console.log(body);
        let response = JSON.parse(body);
        let description = response['description'];

    // Create response
        let output = `${description}`

    // Resolve the promise with the output text
        console.log(output);
        resolve(output);
      });
      res.on('error', (error) => {
      console.log(`Error calling the iex API: ${error}`)
      reject();
      });
    });
  });
}
EN

回答 1

Stack Overflow用户

发布于 2018-10-27 00:00:23

如果您正在使用内联对话流编辑器,那么您正在运行Firebase的Cloud Functions (或Firebase Cloud Functions)。默认情况下,基本计划上有一个限制,即您不能在Google的网络之外进行网络呼叫。

要解决此问题,您可以将您的Firebase套餐升级为订阅,如Blaze Plan。这确实要求在文件中有信用卡,但是基本使用级别应该是免费级别的一部分。

您也可以在其他任何地方运行您的webhook,只要有一个web服务器具有有效的SSL证书,可以处理HTTPS请求。如果你想在本地运行它,你甚至可以使用像ngrok这样的东西。

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

https://stackoverflow.com/questions/53017233

复制
相关文章
Confluence 6 尝试从 XML 备份中恢复时解决错误
错误可能是因为数据库突然不可访问而产生。也有可能是你备份文件有问题,你需要找到你 XML 备份文件中违反数据库规定的记录修改这个记录后再创建一个新的 XML 备份:
HoneyMoose
2019/01/31
9280
java 中getmapping,在Java spring尝试使用@getmapping到API时返回空JSON[通俗易懂]
我有一个带有记录器的@bean,该记录器返回它从JIRA API获得的JSON数据。我当前正在记录启动程序时的响应。现在我想开始在我的控制器中使用@getmapping,并想在localhost:8080/上执行GET请求时记录信息。
全栈程序员站长
2022/07/28
8.2K0
PHP解析json、xml错误
解析json php内置函数json_decode() 可以解析json字符串 但是有的时候看起来正确的json,解析却一直返回null。 你知道吗,json是可能解析失败的,此时PHP不会产生提示。 我们需要手动通过json_last_error()函数获取 function json_decode_siam($string, $mark = false){ $data = json_decode($string, $mark); switch (json_last_error()) {
宣言言言
2019/12/15
2.5K0
Typecho评论时可能出现的错误
根据URL得知应该是在发评论的时候出现的错误。很奇怪,因为很久之前这位博友jiuki's blog也给我反馈过一次。说明这问题不是偶然出现的,所以必须要解决才行。
Melody132
2020/03/13
1.5K0
Fastjson解析JSON时乱序解决
默认解析json字符串时序列化是无序的,而有些场景下需要按前台传过来的顺序 解析时传入参数Feature.OrderedField可保持有序 JSONObject jsonObject = JSONObject.parseObject(jsonData, Feature.OrderedField); List<LinkedHashMap> templateMap = JSON.parseArray(jsonObject.getString("jsonValue"), LinkedHashMap.class
4xx.me
2022/06/09
1.4K0
Rest API: Json参数格式错误时显示Json原文
一开始想寻找其他方式,当抛出异常的时候,就从HttpServletRequest读取body内容。但是做不到,因为在做Json读取的时候,InputStream已经被读取了,无法再次获取到body内容。所以只能通过自定义MessageConverter的方式。
十毛
2019/03/27
1.9K0
navicat连接mysql时出现2003(10060)错误
参考http://jingyan.baidu.com/article/95c9d20dac9040ec4f75617a.html,发现是防火墙未关闭;
全栈程序员站长
2021/06/21
8.1K1
navicat连接mysql时出现2003(10060)错误
Apache安装时错误解析
1.error: mod_deflate has been requested but can not be built due to prerequisite failures 解决办法是: yum install -y zlib-devel 为了避免在make的时候出现错误,所以最好是提前先安装好一些库文件: yum install -y pcre pcre-devel apr apr-devel ---- 2.APACHE安装error: cannot install 'libaprutil-1.la
老七Linux
2018/05/31
1.4K0
Eclipse保存文件时出现字符编码错误
eclipse 由于开源所以支持了比较杂的编码方式,而这些一个工程导入时添加了不少的外来程序,由于不是同一工程一次编码带来了其中含有 GBK 或 UTF8 或 UTF16 或 ASCII 等文件编译时就会出现错误警告。
黑泽君
2018/10/11
3.4K0
DialogFlow,Python 和 Flask 打造 ChatBot
简单来说,Chatbot是一种模拟人类对话(以文本和音频形式)的计算机程序,我们将其视为智能和有用的。他们最重要的应用是个人或企业虚拟助手。聊天机器人可以挖掘大量数据,为客户挑选最好的金块,无论是故障排除解决方案还是推荐新产品。此外,它们还为你的企业和客户提供了非常直观的界面。根据具体情况,聊天机器人可以从用户所说的内容中了解个性化交互并构建以前的交互,从而提供令人满意和未来的客户体验。
iOSDevLog
2019/04/18
4.1K0
DialogFlow,Python 和 Flask 打造 ChatBot
访问网时出现403 Forbidden错误的原因:
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/113700.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/07
10.1K1
IDEA远程提交hadoop任务时出现的错误
上述问题解决:开启historyserver服务 mr-jobhistory-daemon.sh start historyserver
ZONGLYN
2019/08/08
2.3K0
kettle 利用 HTTP Client 获取猫眼电影API近期上映相关信息,并解析json
Kettle 除了常规的数据处理之外,还可以模拟发送HTTP client/post ,REST client。
量子态的沐子呓
2019/12/25
2.8K0
kettle 利用 HTTP Client 获取猫眼电影API近期上映相关信息,并解析json
PHP 解析JSON 并获取对应的值
本文由 Alone88 创作,采用 知识共享署名4.0 国际许可协议进行许可 本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名 最后编辑时间为: Sep 21, 2019 at 01:53 pm
Alone88
2019/10/22
2.9K0
office打开文件时出现向程序发送命令时出现问题_向文件发送命令时错误
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说office打开文件时出现向程序发送命令时出现问题_向文件发送命令时错误,希望能够帮助大家进步!!!
Java架构师必看
2022/10/24
8K0
【SAP SD系列】销售订单创建保存时,出现错误
在创建销售订单时,保存之后,出现如下显示: 点放大镜出现: 出现上面红色错误的时候 怎么解决 解决办法如下: 这个是开启配置了销售订单的合法控制   属于外贸关税的配置里面的   要关闭订单类型的合法控制检查即可 路径:销售分销-外贸关税-合法控制 凭证控制 把合法控制 由 C 改为 空
matinal
2020/11/17
4.6K0
【SAP SD系列】销售订单创建保存时,出现错误
【Spark Operator】executor解析driver servicename出现unknownhostexception错误
Spark Operator 中的 executor 和 driver 是通过 driver 的 service 来通信的,如果 Kubernetes 集群的 dns 组件有问题,那么 executor 就会有可能解析不到 driver 的域名,导致无法注册,最后 driver 被迫退出。
runzhliu
2020/08/05
8060
文件解析错误 SyntaxError: Unexpected token / in JSON at position 0
在微信开发者工具上运行,发现报如上图所示的错误,打开相应.json的目录文件,发现代码被注释掉了,即main.json里空的。
honey缘木鱼
2019/03/08
9.1K0
文件解析错误  SyntaxError: Unexpected token / in JSON at position 0
点击加载更多

相似问题

尝试获取JSON文件时出现解析错误

10

尝试解析json时出现fileNotFound \ NullPointerExcetion错误

10

IE在尝试解析JSON时出现错误

55

尝试获取api时出现CORS错误

142

尝试从json解析值时出现TypeError

352
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文