I'm trying to include Tumblr feeds on a webpage roughly as follows
$.ajax({
url: 'http://mypage.tumblr.com/api/read/json?tagged=interesting+tag',
type: 'GET',
dataType: 'jsonp',
success: renderStuff,
error: function () {
alert('D\'oh'!)
}
});
Now, this works fine: I get all entries with the tag 'interesting tag'.
My question is: How do I ask for multiple tags? Changing the query string like this
'http://mypage.tumblr.com/api/read/json?tagged=tag1&tagged=tag2&tagged=tag3'
only returns entries with 'tag3'.
Is there some trick to 'AND' or 'OR' tag-names together? If not, I'd be happy to just query all of them and filter them manually but I thought it would be worth asking.
Thanks in advance people!!
Not possible with the current Tumblr API, it only supports one tag. One workaround is to (aside from pushing for this feature from the Tumblr team) is to use jQuery deferred object to get all the posts with those tags and merge the json results.
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);
});