2015-06-04 69 views
2

我想列出與Blogger的API V3的所有博客文章的所有帖子:清單與Blogger API

<script type="text/javascript"> 
function handleResponse(response) { 
    var post_number = Object.keys(response.items).length; //number of posts 
    for (i=0; i<post_number; i++) { 
    $('#content').append('<div id="post' + (i+1) + '" class="post"><p></p></div>'); 
    $('.post p').html(Object.keys(response.items[i].title)); 
    } 
} 
</script> 
<script src="https://www.googleapis.com/blogger/v3/blogs/1961645108677548855/posts?callback=handleResponse&key=AIzaSyAJESQB3ddltUcDbZif3LUnX-Gzr18tBRg"></script> 

這並追加3周的div(因爲3個),以我的內容股利。但是,每本的div的內容是:

<p> 
    "1" 
    "2" 
    "3" 
    "4" 
    "5" 
</p> 

我不知道爲什麼,但我認爲titleitems[]屬性。 任何解決方案或線索?

感謝您的回答!

+1

這是什麼都用CSS做? –

+0

沒什麼,我的錯,對不起 – tafelrunde

回答

2

你應該刪除Object.keys()和嘗試這個辦法:

<script type="text/javascript"> 
function handleResponse(response) { 
    var post_number = Object.keys(response.items).length; //number of posts 
    for (i=0; i<post_number; i++) { 
    $('#content').append('<div id="post' + (i+1) + '" class="post"><p></p></div>'); 
    $('.post p').html(response.items[i].title); 
    } 
} 
</script> 
<script src="https://www.googleapis.com/blogger/v3/blogs/1961645108677548855/posts?callback=handleResponse&key=AIzaSyAJESQB3ddltUcDbZif3LUnX-Gzr18tBRg"></script> 

在你萬一你不應該使用Object.keys()

+0

工作正常,謝謝。 – tafelrunde

+0

@tafelrunde我很高興能爲您提供幫助! –

0

你的請求不使用maxResults參數和職位數量有限檢索所以我建議使用Google JavaScript Client Library - Blogger API並遞歸檢索博客的所有帖子。

請看下面的例子:

<script> 
    function renderResults(response) { 
    if (response.items) { 
     for (var i = 0; i < response.items.length; i++) { 
     //do whatever you want with the posts of your blog 
     }  
    } 
    if(response.nextPageToken) { 
     var blogId = 'XXX Your blogId XXX'; 
     var request = gapi.client.blogger.posts.list({ 
     'blogId': blogId, 
     'pageToken': response.nextPageToken, 
     'maxResults': 100, 
     }); 
     request.execute(renderResults); 
    } 
    } 
    function init() { 
    gapi.client.setApiKey('XXX Get your API Key from https://code.google.com/apis/console XXX'); 
    gapi.client.load('blogger', 'v3', function() { 
     var blogId = 'XXX Your blogId XXX'; 
     var request = gapi.client.blogger.posts.list({ 
      'blogId': blogId, 
      'maxResults': 100, 
     }); 
     request.execute(renderResults);   
    }); 
    } 
    </script> 
    <script src="https://apis.google.com/js/client.js?onload=init"></script>