如何在 Tumblr 的读取 API 中查询多个标签

How to query multiple tags in Tumblr's read api?

本文关键字:查询 标签 API 读取 Tumblr      更新时间:2023-09-26

我正在尝试在网页上大致包含 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"标签名称放在一起?如果没有,我很乐意查询所有这些并手动过滤它们,但我认为值得一问。

提前感谢人们!!

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

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

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