2016-10-24 13 views
5

Merhaba Gösterge panelimde OneSignal API'yi uygulamaya çalışıyorum ve ekspres sunucunun içinde bir API dış araması yapmanın mümkün olup olmadığını merak ediyorum. Ek olarak, uygulama yolu Ekspres sunucusu içinde harici bir API çağrısı nasıl yapılır?

app.post('/path', function(req, res){ 


var message = { 
    app_id: "5eb5a37e-b458-11e3-ac11-000c2940e62c", 
    contents: {"en": "English Message"}, 
    included_segments: ["All"] 
}; 

sendNotification(message); 
}); 

teşekkür ederiz İşte

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

: Burada

bir örnektir!

cevap

7

Ekspres sunucusunda bir dış arama yapmak mümkün olup olmadığını merak ediyorum. Eğer göstererek veya request module gibi bunun üstüne inşa üst düzey modüllerinden biri gibi

Tabii, http.request() ile node.js uygulamasından bir dış sunucu başvurabilirsiniz.

const rp = require('request-promise'); 
rp('http://www.google.com').then(body => { 
    console.log(body); 
}).catch(err => { 
    console.log(err); 
}); 
: sözler kullanarak,

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

Veya: Burada

istek modülü ana sayfasından basit bir örnek
İlgili konular