जवाबों:
मिकाइल का अनुरोध मॉड्यूल यह आसानी से कर सकता है:
var request = require('request');
var options = {
uri: 'https://www.googleapis.com/urlshortener/v1/url',
method: 'POST',
json: {
"longUrl": "http://www.google.com/"
}
};
request(options, function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body.id) // Print the shortened url.
}
});
headers: {'content-type' : 'application/json'},
विकल्प नहीं जोड़ा ।
सरल उदाहरण
var request = require('request');
//Custom Header pass
var headersOpt = {
"content-type": "application/json",
};
request(
{
method:'post',
url:'https://www.googleapis.com/urlshortener/v1/url',
form: {name:'hello',age:25},
headers: headersOpt,
json: true,
}, function (error, response, body) {
//Print the Response
console.log(body);
});
जैसा कि आधिकारिक प्रलेखन कहता है:
शरीर - PATCH, POST और PUT अनुरोधों के लिए निकाय निकाय। बफ़र, स्ट्रिंग या रीडस्ट्रीम होना चाहिए। यदि json सच है, तो शरीर को JSON-serializable ऑब्जेक्ट होना चाहिए।
JSON भेजते समय आपको इसे विकल्प के शरीर में रखना होगा।
var options = {
uri: 'https://myurl.com',
method: 'POST',
json: true,
body: {'my_date' : 'json'}
}
request(options, myCallback)
केवल किसी कारण से यह आज मेरे लिए काम कर रहा है। अन्य सभी वेरिएंट API से खराब json त्रुटि में समाप्त हुए ।
इसके अलावा, JSON पेलोड के साथ आवश्यक पोस्ट अनुरोध बनाने के लिए अभी तक एक और संस्करण।
request.post({
uri: 'https://www.googleapis.com/urlshortener/v1/url',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({"longUrl": "http://www.google.com/"})
});
हेडर और पोस्ट के साथ अनुरोध का उपयोग करना।
var options = {
headers: {
'Authorization': 'AccessKey ' + token,
'Content-Type' : 'application/json'
},
uri: 'https://myurl.com/param' + value',
method: 'POST',
json: {'key':'value'}
};
request(options, function (err, httpResponse, body) {
if (err){
console.log("Hubo un error", JSON.stringify(err));
}
//res.status(200).send("Correcto" + JSON.stringify(body));
})
चूंकि request
मॉड्यूल जो अन्य उत्तरों का उपयोग करता है, उन्हें हटा दिया गया है, क्या मैं निम्नलिखित पर स्विच करने का सुझाव दे सकता हूं node-fetch
:
const fetch = require("node-fetch")
const url = "https://www.googleapis.com/urlshortener/v1/url"
const payload = { longUrl: "http://www.google.com/" }
const res = await fetch(url, {
method: "post",
body: JSON.stringify(payload),
headers: { "Content-Type": "application/json" },
})
const { id } = await res.json()