首页 > 解决方案 > HTTP POST 谷歌云函数 NodeJS

问题描述

如何编写将接收 HTTP 请求然后将 HTTP POST 请求发送到不同端点的 Google Cloud 函数?

例如,

到目前为止,我已经尝试使用node-webhooks、request 和 restler模块发送 HTTP POST,但它们似乎都不起作用。是因为这些模块与exports.test一起使用吗?

我的问题与这个问题有关,但答案对我没有帮助。

发送到端点的数据是json & Content-type: application/json

var request = require('request'); //also tried for node-webhook, restler modules

exports.test = function(req, res) {
 //processing of received json data from source A. 
}

function sendToEndpoint(processed_data) {

  let abc = processed_data;   //send processed data to source B 

  request.post({
      uri: 'https://example.com',
      headers: {'Content-Type': 'application/json'},
      body: JSON.stringify(abc)
  }); 

}

标签: node.jshttppostgoogle-cloud-functionswebhooks

解决方案


正如@RenaudTarnec 在评论中提到的那样,问题是我的计费帐户没有配置。

Google 不允许在没有有效结算信息的情况下向外部服务器发出出站请求,以防止任何恶意活动。

配置计费帐户后,我能够发出出站请求,并且问题中提到的所有节点模块都有效。


推荐阅读