努力获得nodeJS https.request或https.get以使用imgur API(也尝试使用http模块)。这是我的https.request代码:
var https = require('https')
var imgurAPIOptions = {
hostname : 'api.imgur.com',
path: '/3/gallery/search/time/1/?q=cat',
headers: {'Authorization': 'Client-ID xxxxxxxxxxxx'},
json: true,
method: 'GET'
};
https.request(imgurAPIOptions,function(err,imgurResponse){
if (err) {console.log('ERROR IN IMGUR API ACCESS')
} else {
console.log('ACCESSED IMGUR API');
}
});
它返回错误消息console.log。
以下是使用jQuery AJAX的等效客户端请求的(工作)代码:
$(document).ready(function(){
$.ajax({
headers: {
"Authorization": 'Client-ID xxxxxxxxxxxx'
},
url: 'https://api.imgur.com/3/gallery/search/time/1/?q=cat',
success:function(data){
console.log(data)
}
})
});
这里有没有人有过使imgur API工作的经验?我错过了什么?
答案 0 :(得分:0)
看看https docs。你需要做一些改变:
请求回调中的第一个参数是响应,而不是错误。如果要检查错误,可以在请求中侦听error
事件。
请求收到数据后,即可输出。
var https = require('https');
var options = {
hostname: 'api.imgur.com',
path: '/3/gallery/search/time/1/?q=cat',
headers: {'Authorization': 'Client-ID xxxxxxxxxxxx'},
method: 'GET'
};
var req = https.request(options, function(res) {
console.log('statusCode:', res.statusCode);
console.log('headers:', res.headers);
res.on('data', function(d) {
process.stdout.write(d);
});
});
req.on('error', function(e) {
console.error(e);
});
req.end();