如何在快递服务器内部进行外部API调用?

你好我一直试图在我的仪表板上实现OneSignal API,我不知道是否有可能在快速服务器内部进行API外部调用。

这里是一个例子:

var sendNotification = function(data) { var headers = { "Content-Type": "application/json; charset=utf-8", "Authorization": "Basic NGEwMGZmMjItY2NkNy0xMWUzLTk5ZDUtMDAwYzI5NDBlNjJj" }; var options = { host: "onesignal.com", port: 443, path: "/api/v1/notifications", method: "POST", headers: headers }; var https = require('https'); var req = https.request(options, function(res) { res.on('data', function(data) { console.log("Response:"); console.log(JSON.parse(data)); }); }); req.on('error', function(e) { console.log("ERROR:"); console.log(e); }); req.write(JSON.stringify(data)); req.end(); }; 

这里是应用程序路线

 app.post('/path', function(req, res){ var message = { app_id: "5eb5a37e-b458-11e3-ac11-000c2940e62c", contents: {"en": "English Message"}, included_segments: ["All"] }; sendNotification(message); }); 

谢谢!

我想知道是否有可能在快递服务器内部进行API外部呼叫。

当然,你可以像使用http.request()一样从node.js应用程序中联系任何外部服务器,就像你正在显示的那样,或者像在请求模块之上构build的高层模块之一一样。

以下是请求模块主页中的一个简单示例:

 var request = require('request'); request('http://www.google.com', function (error, response, body) { if (!error && response.statusCode == 200) { console.log(body) // Show the HTML for the Google homepage. } })