Javascript Imgur API图像搜索未返回数据

Javascript Imgur API图像搜索未返回数据,javascript,imgur,Javascript,Imgur,我正在尝试使用Node.js和Express.js(如果这是有用的信息,我正在学习免费代码营课程)编写一个应用程序,它接收搜索词并发送和查询到Imgur API,并报告一些与搜索词相关的图像数据。我已经注册了我的应用程序,收到了必要的客户端ID,并且在这里的文档中包含了一个标题,我从Imgur获得了200的状态码,但是我在返回的对象中得到的不是任何“数据”,而是一些没有用的其他属性。我需要做什么才能根据搜索词从Imgur获取图像数据 我将请求发送到的URL: https://api.imgur.

我正在尝试使用Node.js和Express.js(如果这是有用的信息,我正在学习免费代码营课程)编写一个应用程序,它接收搜索词并发送和查询到Imgur API,并报告一些与搜索词相关的图像数据。我已经注册了我的应用程序,收到了必要的客户端ID,并且在这里的文档中包含了一个标题,我从Imgur获得了200的状态码,但是我在返回的对象中得到的不是任何“数据”,而是一些没有用的其他属性。我需要做什么才能根据搜索词从Imgur获取图像数据

我将请求发送到的URL:
https://api.imgur.com/3/gallery/search/{搜索词}
根据此处的文档:。响应不是所描述的格式

搜索功能:

this.askImgur = function(req, res) {
  var img_data;
  console.log('askImgur function firing');
  var search_term = url.parse(req.originalUrl||req.path).query;
  console.log(search_term);
  var search_path = path + search_term;//PLUS PAGE

  var options = {
    protocol: "https:",
    host:'api.imgur.com',
    path:search_path,
    method:'GET',
    headers: {
    "Authorization":"Client-ID <CLIENT ID HERE>"
    }
  };

var ds;
  https.get(options, function(res) {
    console.log("Got response: " + res.statusCode);
    for (var key in res) {
      if (res.hasOwnProperty(key)) {
      console.log(key);
      }
    }
  }).on('data', function(chunk){
    ds+=chunk;
    console.log("chunk is "+chunk);//does nothing
  }).on('error', function(e) {
    console.log("Got error: " + e.message);
  });
  console.log("ds is "+ds);//does nothing
  //res.json("askImgur function is sending you words");
  res.send(search_term);
};//askImgur function
this.askImgur=函数(req,res){
var-img_数据;
log('askImgur函数触发');
var search_term=url.parse(req.originalUrl | | req.path).query;
console.log(搜索词);
var search\u path=path+search\u term;//加上第页
变量选项={
协议:“https:”,
主机:'api.imgur.com',
路径:搜索路径,
方法:'GET',
标题:{
“授权”:“客户端ID”
}
};
var-ds;
https.get(选项、函数(res){
日志(“得到响应:+res.statusCode”);
for(在res中输入var键){
if(res.hasOwnProperty(key)){
控制台日志(键);
}
}
}).on('data',函数(块){
ds+=chunk;
console.log(“chunk是”+chunk);//不执行任何操作
}).on('error',函数(e){
log(“获取错误:+e.message”);
});
console.log(“ds是”+ds);//不执行任何操作
//res.json(“askImgur函数正在向您发送单词”);
res.send(搜索词);
};//askImgur函数
输出:

得到响应:200
_可读状态
可读的
领域
_事件
_事件侦察
_maxListeners
插座
连接
httpVersionMajor
httpVersionMinor
httpv
完成
标题
毛头
拖车
原始拖车
升级
网址
方法
状态码
状态信息
客户
_消耗
_倾倒
请求

根据文档,图像数据应位于“数据”属性中,而不是与上述属性一起返回。

请尝试此url

https://api.imgur.com/3/gallery/search?q={search term}
请尝试此url

https://api.imgur.com/3/gallery/search?q={search term}

尝试使用
node fetch
,我个人觉得它的API更容易使用。因此,请继续执行
npm i node fetch
。 然后尝试下面的代码:

const fetch = require("node-fetch")

const term = "lolcat"
const url = `https://api.imgur.com/3/gallery/search/top/1/?q=${term}`
const IMGUR_API_CLIENT = "111111" // your client api

fetch(url, {headers: {Authorization: `Client-ID ${IMGUR_API_CLIENT}`}})
  .then(res => res.json())
  .then(json => console.log(json))

我希望这有帮助。对不起,如果太晚了

尝试使用
节点获取
,我个人觉得它的API更容易使用。因此,请继续执行
npm i node fetch
private OkHttpClient httpClient = new OkHttpClient.Builder().build();

Request request = new Request.Builder()
.url("https://api.imgur.com/3/gallery/hot/viral/0.json")
.method("GET", null)
.addHeader("Authorization", "Client-ID <<client_id>>")
.build();
然后尝试下面的代码:

const fetch = require("node-fetch")

const term = "lolcat"
const url = `https://api.imgur.com/3/gallery/search/top/1/?q=${term}`
const IMGUR_API_CLIENT = "111111" // your client api

fetch(url, {headers: {Authorization: `Client-ID ${IMGUR_API_CLIENT}`}})
  .then(res => res.json())
  .then(json => console.log(json))
我希望这有帮助。对不起,如果太晚了

private-OkHttpClient-httpClient=new-OkHttpClient.Builder().build();
private OkHttpClient httpClient = new OkHttpClient.Builder().build();

Request request = new Request.Builder()
.url("https://api.imgur.com/3/gallery/hot/viral/0.json")
.method("GET", null)
.addHeader("Authorization", "Client-ID <<client_id>>")
.build();
Request Request=newrequest.Builder() .url(“https://api.imgur.com/3/gallery/hot/viral/0.json") .method(“GET”,null) .addHeader(“授权”、“客户ID”) .build();
将>替换为15个字符的客户端ID

例如:
”.addHeader(授权),“客户端ID a1b2c3d4e5f6g7h”)
私有OkHttpClient httpClient=new OkHttpClient.Builder().build();
Request Request=newrequest.Builder()
.url(“https://api.imgur.com/3/gallery/hot/viral/0.json")
.method(“GET”,null)
.addHeader(“授权”、“客户ID”)
.build();
将>替换为15个字符的客户端ID

例如:
”.addHeader(授权),“客户ID a1b2c3d4e5f6g7h”)