与外部服务通信:内部服务器错误 500

Communicating with an external service: internal server error 500

我正在尝试向 HTTPS 服务 (https://broker.bronos.net) 发出 GET 请求。此服务是一个 API,可与我的 LAN 上的客户端通信。我无法通过 functions.https.get(URL, (s,ss) => {});

让它工作

请帮忙 -- 我对网络开发还很陌生,更不用说 google 操作了。

我使用 apiai-starter-app 作为基础,在我添加 returns 内部服务器错误 500.

之前,它的功能非常好

注意:我在向项目添加计费之前和之后都尝试过。都不行。

编辑: 使用这个

        const https = require('https');

https.get('https://broker.bronos.net/v1/CLIENT_ID/ROOM_NAME/ACTION/PARAM', (resp) => {
  let data = '';

  // A chunk of data has been recieved.
  resp.on('data', (chunk) => {
    data += chunk;
  });

  // The whole response has been received. Print out the result.
  resp.on('end', () => {
            if (requestSource === googleAssistantRequest) {
        sendGoogleResponse(JSON.parse(data).explanation); // Send simple response to user
      } else {
        sendResponse(JSON.parse(data).explanation); // Send simple response to user
      }
  });

}).on("error", (err) => {
                if (requestSource === googleAssistantRequest) {
        sendResponse("Error: " + err.message); // Send simple response to user
      } else {
        sendResponse("Error: " + err.message); // Send simple response to user
      }
});

Firebase 的函数对免费层上的外部 API 的访问权限有限。通过升级到 Blaze or Flame plans,您将能够进行外部 API 调用。

启用 Firebase Blaze 计划 + 以下代码有效

        const https = require('https');

https.get('https://broker.bronos.net/v1/CLIENT_ID/Living%20Room/volume/20', (resp) => {
  let data = '';

  // A chunk of data has been recieved.
  resp.on('data', (chunk) => {
    data += chunk;
  });

  // The whole response has been received. Print out the result.
  resp.on('end', () => {
            if (requestSource === googleAssistantRequest) {
        sendGoogleResponse(JSON.parse(data).explanation); // Send simple response to user
      } else {
        sendResponse(JSON.parse(data).explanation); // Send simple response to user
      }
  });

}).on("error", (err) => {
                if (requestSource === googleAssistantRequest) {
        sendResponse("Error: " + err.message); // Send simple response to user
      } else {
        sendResponse("Error: " + err.message); // Send simple response to user
      }
});