Node.js Can';无法从imgur api获取响应
我正在尝试从imgurapi获取响应,但我在获取任何信息时遇到了困难。我不断收到401非授权错误。我也尝试过使用Node.js Can';无法从imgur api获取响应,node.js,express,xmlhttprequest,router,axios,Node.js,Express,Xmlhttprequest,Router,Axios,我正在尝试从imgurapi获取响应,但我在获取任何信息时遇到了困难。我不断收到401非授权错误。我也尝试过使用“../gallery/authorization?client_id=”search,这也不起作用。我不是很理解文档。谁能告诉我我做错了什么?哦,顺便说一句,这是用express/node.js编写的 router.post('/getimages', function(req,res,next){ console.log('successfully got to /g
“../gallery/authorization?client_id=”search
,这也不起作用。我不是很理解文档。谁能告诉我我做错了什么?哦,顺便说一句,这是用express/node.js编写的
router.post('/getimages', function(req,res,next){
console.log('successfully got to /getimages backend :P');
console.log('the value of the search query is ', req.body.search);
var url = 'https://api.imgur.com/3/gallery/search?q='+req.body.search;
axios.get(url)
.then(function (response) {
console.log('YATA from axios to imgur');
console.log(response);
res.json({'YATA':'YATA from getimages'});
})
.catch(function (error) {
console.log('Fail from axios request to imgur');
console.log(error);
res.json({'OHNOES':'NOOOOYATA from getimages'});
});
})
根据,您必须使用API。即使您以匿名身份使用它,这也是允许的。将
clientId
放在授权标题中:
axios = require("axios");
search = "monkey";
clientId = "YOUR_CLIENT_ID";
axios({
method: 'get',
url: 'https://api.imgur.com/3/gallery/search?q=' + search,
headers: { 'authorization': 'Client-ID ' + clientId }
}).then(function(response) {
console.log(response.data);
}).catch(function(error) {
console.log(error);
});
当然,这就是我对客户端id所做的,但我也无法让它工作。你试图在它应该在标题中时将其作为查询发送。是的,就是这样。谢谢