【问题标题】:Cant make http request with intent不能有意图地发出http请求
【发布时间】:2019-01-21 16:44:51
【问题描述】:

所以我目前正在尝试让一个意图触发一个 http 请求,但不断收到错误。

当意图触发时,这段代码被执行

 const https = require('https');
 https.get('*************', 
  (resp) => {
    let data = '';

    resp.on('data', (chunk) => {
    data += chunk;
    });


    resp.on('end', () => {
    console.log(JSON.parse(data).explanation);
    });


  }).on("error", (err) => {
    console.log("Error: " + err.message);
  });

运行意图时出现错误:getaddrinfo ENOTFOUND 返回

我的代码在本地运行时运行良好,因此问题似乎与对话框流不匹配

如果有人有任何建议,我将不胜感激。

谢谢!

【问题讨论】:

  • 您好,请检查是否有帮助:stackoverflow.com/questions/17690803/…
  • 您好,感谢您的回复,但这并不能解决问题,实际请求在对话流实现之外工作正常,所以我认为它必须是 DF 基础架构的一部分。
  • 您的 Action 是否在免费计划中使用 Firebase Cloud Functions 托管?如果是这样,那么我相信您仅限于 Google 云中的端点。
  • 什么是 IP 别名(*s)?愚蠢的问题,但它不是本地服务器名称,对吧?

标签: javascript node.js http dialogflow-es actions-on-google


【解决方案1】:

Dialogflow 实现作为 Firebase 云函数托管。 Firebase 免费计划仅允许 Google 服务 API。如果您想使用外部 API,则必须升级您的计划。

更多信息可以在这里找到https://firebase.google.com/pricing/

【讨论】:

  • 非常感谢 - 我为此花费了令人尴尬的时间
猜你喜欢
  • 1970-01-01
  • 2019-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-26
  • 1970-01-01
相关资源
最近更新 更多