不工作這是我的HTTP POST代碼,在本地主機上運行:Instagram的API通過的NodeJS
if(headers['Content-Type'] == undefined)
headers['Content-Type'] = 'application/x-www-form-urlencoded';
var post_options = {
host: host,
path: path,
port: port,
method: 'POST',
headers: headers
};
if(headers['Content-Type'] == "application/json"){
post_options["json"] = true;
var post_data = JSON.stringify(body);
}else
var post_data = querystring.stringify(body);
var post_req = http.request(post_options, function(res) {
var body = '';
console.log("INSIDE CALLBACK HTTP POST");
res.setEncoding('utf8');
res.on('data', function (chunk) {
body += chunk;
console.log('Response: ' + chunk);
});
res.on('end', function() {
var post = querystring.parse(body);
console.log("FINAL BODY:",post);
});
//console.log("RESPONSE in http POST:",res);
});
// post the data
console.log("WRITING HTTP POST DATA");
var sent_handler = post_req.write(post_data);
console.log("POST_REQ:",post_req);
console.log("sent_handler:",sent_handler);
post_req.end();
這裏是我發送到Instagram的準確信息:
host
=「api.instagram。 COM」path
= 「/ OAuth的/的access_token」body
如下:body [「client_id」] = CLIENT_ID;
body [「client_secret」] = CLIENT_SECRET;
body [「grant_type」] =「authorization_code」;
body [「redirect_uri」] = AUTHORIZATION_REDIRECT_URI;
body [「code」] = login_code;
body [「scope」] =「public_content」;
headers
= {}(空,假定報頭[ '內容 - 類型'] ==未定義爲真)重要:
sent_handler
返回false的的console.log爲「FINAL BODY」(變量
post
)返回「{}」
要注意:通訊使用curl與api instagram作品。所以我真的相信這個問題出現在nodejs代碼的某些部分。
有沒有人有任何想法?請詢問是否需要更多信息
請不要混淆,並從你的if語句它只是要求匹配省略括號發生災難,並大大降低了可讀性。 – brandonscript
@brandonscript關於請求可能發生什麼的任何想法? – Fane