2011-05-18 98 views
1

我想包括饲料的tumblr网页上的大致如下如何在Tumblr的读取API中查询多个标签?

$.ajax({ 
     url: 'http://mypage.tumblr.com/api/read/json?tagged=interesting+tag', 
     type: 'GET', 
     dataType: 'jsonp', 
     success: renderStuff, 
     error: function() { 
      alert('D\'oh'!) 
     } 
    }); 

现在,这工作得很好:我得到的所有条目与标签“有趣的标签”。

我的问题是:我如何要求多个标签?如此更改查询字符串

'http://mypage.tumblr.com/api/read/json?tagged=tag1&tagged=tag2&tagged=tag3' 

仅返回具有'tag3'的条目。

是否有一些技巧将'AND'或'OR'标签名称放在一起?如果没有,我很乐意查询所有这些并手动过滤它们,但我认为这值得提问。

在此先感谢人!

回答

7

无法与当前的tumblr的API,它仅支持一个标记。一种解决方法是(除了从Tumblr团队推出此功能外)是使用jQuery延迟对象来获取包含这些标记的所有帖子并合并json结果。

function getPostsByTag(tag) { 
    return $.ajax({ 
    url: 'http://mypage.tumblr.com/api/read/json?tagged=' + tag, 
    type: 'GET', 
    dataType: 'jsonp' 
    }); 
}; 

$.when(getPostsByTag('tag1'), getPostsByTag('tag2'), getPostsByTag('tag3')) 
.then(function() { 
    var posts = $.extend({}, arguments); 
    renderStuff(posts); 
}); 
+0

好的,有趣的。谢谢! – HumanCatfood 2011-05-18 10:59:38

+0

没问题。如果这对你有用,如果你能接受答案会很棒(点击答案旁边的勾号)。需要任何东西让我知道:) – 2011-05-18 11:56:45

+0

好的,再次感谢 – HumanCatfood 2011-05-18 14:17:16

0

来自Tumblr API文档:tagged - Return posts with this tag in reverse-chronological order (newest first).这个标签是自我解释,我认为。

所以,你必须做出几个请求,对不起

相关问题