【问题标题】:Differentiate between albums and images in Imgur gallery区分 Imgur 画廊中的相册和图像
【发布时间】:2014-07-24 19:54:02
【问题描述】:

首先,抱歉,因为这是一个相当狭窄的话题,所以我理解如果它被删除。 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),有什么方法可以在不发送多个请求的情况下确定它是相册还是图片?

【问题讨论】:

  • 想知道同样的事情。据我所见,专辑ID为5个字符,图像ID为7。但我不知道这是否一致。你找到好的答案了吗?
  • OP,你找到答案了吗?

标签: javascript node.js api imgur


【解决方案1】:

如果您使用 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);            
      }
    });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-03
    • 1970-01-01
    相关资源
    最近更新 更多