首先,道歉,因为这是一个相当狭窄的主题,所以我理解它是否被删除。 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。通常情况下,图像和相册之间没有区别,因为相册网址的前缀为/a/
。
但是,以下是有效的图库网址:
http://imgur.com/gallery/HFoOCeg
http://imgur.com/gallery/clWTb
第一个是图像,第二个是专辑。 gallery类别有两个相关的终点,image和album。尝试使用向图像端点提交专辑请求(反之亦然)会导致404错误。
如果只提供ID(例如:HFoOCeg
)以确定它是专辑还是图片而没有发送多个请求,有没有办法?
答案 0 :(得分:2)
如果您使用的是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);
}
});