Как запросить несколько тегов в API чтения Tumblr? - PullRequest
1 голос
/ 18 мая 2011

Я пытаюсь включить ленты Tumblr на веб-странице примерно следующим образом:

    $.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'

возвращает только записи с тегом 3.

Есть ли хитрость для имен тегов AND и OR вместе?Если нет, я был бы рад просто запросить их все и отфильтровать вручную, но я подумал, что стоит спросить.

Заранее спасибо, люди !!

Ответы [ 2 ]

7 голосов
/ 18 мая 2011

Невозможно с текущим 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 голосов
/ 18 мая 2011

Из документов API Tumblr: tagged - Return posts with this tag in reverse-chronological order (newest first). с этот тег самоочевиден, я думаю.

Итак, вам придется сделать несколько запросов, извините

...