Ben*_*wis 5 javascript api node.js 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
Run Code Online (Sandbox Code Playgroud)
在 Imgur API 文档中,有两个相关的端点。一个用于相册,另一个用于图像。通常,区分图像和相册没有问题,因为相册 URL 前缀为/a/
。
但是,以下都是有效的画廊 URL:
http://imgur.com/gallery/HFoOCeg
http://imgur.com/gallery/clWTb
Run Code Online (Sandbox Code Playgroud)
第一个是图像,第二个是相册。图库类别有两个相关端点:image和album。尝试使用向图像端点提交相册请求(反之亦然)会导致 404 错误。
仅提供 ID(例如:)时,有什么方法HFoOCeg
可以确定它是相册还是图像而不发送多个请求吗?
小智 2
如果您使用 ajax,您可能会发现这很有帮助。它从https://api.imgur.com/3/gallery/{hash }中挑选数据,并在 success 函数中添加一个条件,以区分相册和单个图像。到目前为止它似乎有效。顺便说一句,根据我上面的评论,我发现相册和图像 ID 的长度不一致,分别为 5 和 7 个字符。
无论您喜欢什么方式,都可以从https://i.stack.imgur.com/yAznF.jpg之类的 url 中获取哈希值。
然后:
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);
}
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3035 次 |
最近记录: |