আমি নোডেজ এবং অনুরোধ [2] ব্যবহার করে গুগল কিউপিএক্স এক্সপ্রেস এপিআই [1] তে এইচটিটিপি পোস্ট করার অনুরোধ করছি ।
আমার কোডটি নিম্নরূপ দেখায়:
// create http request client to consume the QPX API
var request = require("request")
// JSON to be passed to the QPX Express API
var requestData = {
"request": {
"slice": [
{
"origin": "ZRH",
"destination": "DUS",
"date": "2014-12-02"
}
],
"passengers": {
"adultCount": 1,
"infantInLapCount": 0,
"infantInSeatCount": 0,
"childCount": 0,
"seniorCount": 0
},
"solutions": 2,
"refundable": false
}
}
// QPX REST API URL (I censored my api key)
url = "https://www.googleapis.com/qpxExpress/v1/trips/search?key=myApiKey"
// fire request
request({
url: url,
json: true,
multipart: {
chunked: false,
data: [
{
'content-type': 'application/json',
body: requestData
}
]
}
}, function (error, response, body) {
if (!error && response.statusCode === 200) {
console.log(body)
}
else {
console.log("error: " + error)
console.log("response.statusCode: " + response.statusCode)
console.log("response.statusText: " + response.statusText)
}
})
আমি যা করার চেষ্টা করছি তা হচ্ছে মাল্টিপার্ট আর্গুমেন্ট [3] ব্যবহার করে জেএসএন পাস করা। তবে সঠিক জেএসওএন প্রতিক্রিয়ার পরিবর্তে আমি একটি ত্রুটি পেয়েছি (৪০০ অপরিবর্তিত)।
আমি যখন পরিবর্তে সিআরএল ব্যবহার করে একই জেএসএন এবং এপিআই কী ব্যবহার করে একটি অনুরোধ করি তখন তা ঠিক কাজ করে। সুতরাং আমার এপিআই কী বা জেএসএন-তে কোনও সমস্যা নেই।
আমার কোডে কী ভুল?
সম্পাদনা :
কাজ করছেন সিআরএল উদাহরণ:
i) আমি JSON কে সেভ করেছিলাম যা আমি "অনুরোধ.জসন" নামক একটি ফাইলে আমার অনুরোধের কাছে পাঠিয়ে দেব:
{
"request": {
"slice": [
{
"origin": "ZRH",
"destination": "DUS",
"date": "2014-12-02"
}
],
"passengers": {
"adultCount": 1,
"infantInLapCount": 0,
"infantInSeatCount": 0,
"childCount": 0,
"seniorCount": 0
},
"solutions": 20,
"refundable": false
}
}
ii) তারপরে, টার্মিনালে আমি সেই ডিরেক্টরিতে স্যুইচ করেছি যেখানে সদ্য নির্মিত অনুরোধ.জসন ফাইলটি উপস্থিত ছিল এবং চালিত হয়েছিল (myApiKey স্পষ্টতই আমার আসল এপিআই কী হিসাবে দাঁড়িয়েছে):
curl -d @request.json --header "Content-Type: application/json" https://www.googleapis.com/qpxExpress/v1/trips/search?key=myApiKey
[1] https://developers.google.com/qpx-express/ [2] নোডেজগুলির জন্য ডিজাইন করা একটি HTTP অনুরোধ ক্লায়েন্ট: https://www.npmjs.org/package/request [3] আমি এখানে পাওয়া একটি উদাহরণ এখানে পেয়েছি https://www.npmjs.org/package/request#m Multipart-related [4] কিউপিএক্স এক্সপ্রেস এপিআই 400 পার্স ত্রুটি ফিরে আসছে