node.js – 如何从Google Cloud Functions(nodeJS)发送HTTP请求

这可能是一个简单的问题,但我是云功能/节点编程的新手,还没有找到正确的文档.

如何编写将收到HTTP请求但随后将HTTP请求发送到其他端点的Google云功能?例如,我可以将HTTP触发器发送到我的云功能(https://us-central1-plugin-check-xxxx.cloudfunctions.net/HelloWorldTest).在项目的后期,我将弄清楚如何实现延迟.但后来我想回复一个新的HTTP请求到另一个端点(https://maker.ifttt.com/trigger/arrive/with/key/xxxx).我怎么做?

exports.helloWorld = function helloWorld(req,res) {
  // Example input: {"message": "Hello!"}
  if (req.body.message === undefined) {
    // This is an error case,as "message" is required.
    res.status(400).send('No message defined!');
  } else {
    // Everything is okay.
    console.log(req.body.message);
    res.status(200).send('Success: ' + req.body.message);
    // ??? send a HTTP request to IFTTT endpoint here
  }
};

解决方法

以下是我在Chetan Kanjani的帮助下设法获得的代码.当我向我的Google Cloud功能端点发送短信时,它会向IFTTT(另一个端点)回复短信.

const request = require('request');

exports.helloWorld = function helloWorld(req,as "message" is required.
    res.status(400).send('No message defined!');
  } else {
    // Everything is okay.
    console.log(req.body.message);

    request.get('https://maker.ifttt.com/trigger/arrival/with/key/xxxx',function (error,response,body) {
      console.log('error:',error); // Print the error if one occurred 
      console.log('statusCode:',response && response.statusCode); // Print the response status code if a response was received 
      console.log('body:',body); //Prints the response of the request. 
    });
    res.status(200).send("Success");
  }
};

我还必须更改package.json文件以包含请求包.它已经有了sample-Http包,我添加了依赖项:

{
  "name": "sample-http","version": "0.0.1","dependencies": {
    "request": "^2.81.0"
  }
}

我仍然不确定console.log函数在哪里打印出信息.这可能对将来的调试很有帮助.

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...