【问题标题】:How to query multiple tags in Tumblr's read api?如何在 Tumblr 的 read api 中查询多个标签?
【发布时间】:2011-05-18 10:19:49
【问题描述】:

我正在尝试在网页上包含 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'

只返回带有 'tag3' 的条目。

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

提前谢谢大家!!

【问题讨论】:

    标签: javascript ajax tumblr


    【解决方案1】:

    当前的 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);
     });
    

    【讨论】:

    • 没问题。如果这对您有用,如果您能接受答案,那就太好了(单击答案旁边的勾号)。还需要什么让我知道:)
    • 我看过很多 deferred.js 的例子,觉得它很酷,但从来没有遇到过实际应用……直到现在。
    【解决方案2】:

    来自 Tumblr API 文档:tagged - Return posts with this tag in reverse-chronological order (newest first). this 标签是不言自明的,我认为。

    所以,您必须提出几个请求,抱歉

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-21
      • 1970-01-01
      • 1970-01-01
      • 2013-09-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多