簡體   English   中英

使用jQuery getJson從Tumblr博客獲取所有帖子

[英]Get all posts from a Tumblr blog using jQuery getJson

我想使用Tumblr的API獲取帶有jQuery getJson的Tumblr博客的所有文本帖子。

我嘗試使用以下代碼,但我只有20個帖子:

function loadPosts () {

  var key = "api_key=xBcVPLfdDKpH0GjMCd1whW7rPoYkzLgZD3ZwpzndISFI4huSpA"
  var api = "https://api.tumblr.com/v2/blog/only-text-posts.tumblr.com/"
  var post_amount

  $.getJSON(api + "info?" + key,function(data) {
    post_amount = data.response.blog.posts
    $.getJSON(api + "posts/text?&filter=text&limit=" + post_amount + "&" + key,function(data) {
      $.each(data.response.posts, function(i, item) {
        var content = item.body
        $("#Posts ul").append('<li>' + content + '</li>')
      });
    })
  })

}

以下是Tumblr博客的一個很好的測試樣本:

http://only-text-posts.tumblr.com/

根據文檔 ,只返回最多20個帖子。 您可以使用offset參數指定偏移offset ,並使用多個調用檢索所有帖子:

function loadPosts () {

    var key = "api_key=your_key";
    var api = "https://api.tumblr.com/v2/blog/only-text-posts.tumblr.com/";
    var retrieve_more = function (offset) {
        $.getJSON(api + "posts/text?callback=?&filter=text&limit=20&offset=" + offset + "&" + key,function(data) {
            $.each(data.response.posts, function(i, item) {
                var content = item.body;
                $("#Posts ul").append('<li>' + content + '</li>')
            });

            if (data.response.posts.length == 20) {
                retrieve_more(offset + 20);
            }
        });
    };

    retrieve_more(0);
}

loadPosts();

小提琴

Tumblr Api文檔來看,每個請求限制為20個帖子。 您可以使用增加的偏移量執行多個請求。

var max_posts_per_page = 20;
$.getJSON(api + "info?" + key,function(data) {
    post_amount = data.response.blog.posts;
    for (var offset = 0; offset < post_amount; offset += max_posts_per_page) {
        $.getJSON(api + "posts/text?&filter=text&limit=" + max_posts_per_page + "&offset=" + offset + "&" + key,function(data) {
            $.each(data.response.posts, function(i, item) {
                var content = item.body
                $("#Posts ul").append('<li>' + content + '</li>')
            });
        });
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM