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类别有两个相关的端点,imagealbum.尝试使用向图像端点提交专辑请求,反之亦然导致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);            
      }
    });
点赞