javascript – 在Imgur画廊中区分专辑和图像
作者:互联网
首先,道歉,因为这是一个非常狭隘的主题,所以我理解它是否被删除. Imgur链接有多种格式,如下所示:
http://i.imgur.com/kMoI9Vn.jpg
http://i.imgur.com/f7VXJQF
http://imgur.com/S1dZBPm
http://imgur.com/a/liD3a
http://imgur.com/gallery/HFoOCeg
在Imgur API文档中,有两个相关的端点.一个用于albums,另一个用于images.通常,没有问题区分图像和相册,因为相册URL以/ a /为前缀.
但是,以下是有效的图库URL:
http://imgur.com/gallery/HFoOCeg
http://imgur.com/gallery/clWTb
第一个是图像,第二个是专辑. gallery类别有两个相关的端点,image和album.尝试使用向图像端点提交专辑请求,反之亦然导致404错误.
只提供ID(例如:HFoOCeg)以确定它是专辑还是图像而没有发送多个请求?
解决方法:
如果您使用的是ajax,您可能会觉得这很有帮助.它从https://api.imgur.com/3/gallery/ {hash}中挑选数据,并在成功函数中添加一个条件,以区分相册和单个图像.到目前为止似乎有效.顺便提一下,在我上面的评论中,我发现专辑和图像ID分别不是5和7个字符长.
无论你喜欢什么,都可以从http://imgur.com/gallery/vTTHZ这样的网址抓取哈希值.
然后:
var thehash = 'vTTHZ';
$.ajax({
type: "GET",
url: "https://api.imgur.com/3/gallery/" + thehash,
dataType: "json",
headers:{
'Authorization':'Client-ID xxxxxxxxxxxxxx'
},
success: function(data) {
if(data.data.is_album === true) {
var dlength = data.data.images.length;
for(i=0; i < dlength; i++) {
$('#mydiv').append('<li>' + data.data.images[i].link + '</li>');
}
} else
{
$('#mydiv').html('<li>' + data.data.link + '</li>');
}
console.log(data);
}
});
标签:javascript,node-js,api,imgur 来源: https://codeday.me/bug/20190703/1364425.html