代码之家  ›  专栏  ›  技术社区  ›  Apathy Yhtapa Nick Felker

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

  •  0
  • Apathy Yhtapa Nick Felker  · 技术社区  · 7 年前

    我正在尝试向HTTPS服务发出GET请求( https://broker.bronos.net functions.https.get(URL, (s,ss) => {});

    请帮忙——我对网络开发很陌生,更不用说谷歌行动了。

    我使用Apaii starter应用程序作为基础,它的功能非常好,直到我在上面添加一行返回内部服务器错误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
          }
    });
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   Apathy Yhtapa Nick Felker    7 年前

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

    启用Firebase Blaze plan+以下代码有效

            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
          }
    });