2015-09-08 12 views
0

我正在使用Google Blogger API,並在檢索博客文章列表時發現它強制分頁。看起來好幾個Google API提供了一個List方法來返回[items]的列表。該請求有一個maxResults參數,該參數默認取決於API的不同數字(對於Blogger來說顯然是10)。用Google列表方法確定總頁數

問題是我沒有看到它返回的帖子或頁面的總數,我的應用程序有一個進度條來顯示它已處理的總帖子的百分比。

所以我需要知道總共有多少帖子。

我發現YouTube API's response forPlayListItems包括一個pageInfo對象,其中包含結果的總數。

是否有這樣的事情,我只是想爲Blogger Posts失蹤,或者他們是否確實需要分頁而不提供獲取總頁數的方法?

+0

尋求調試幫助的問題(「爲什麼不是這個代碼工作?」)必須包含所需的行爲,特定的問題或錯誤以及在問題本身中重現問題所需的最短代碼。沒有明確問題陳述的問題對其他讀者無益。請參閱:如何創建最小,完整和可驗證示例。 – DaImTo

+0

@DaImTo我沒有要求調試幫助和我的代碼工作。我不確定混淆的目的是什麼。這個問題有一個明確的問題陳述,前綴爲「問題是」,並以我對API響應中可用數據的具體問題結束。除了REST服務的響應之外,沒有什麼可以重現的,您可以通過遵循Blogger API鏈接瞭解如何獲取響應。 – xr280xr

回答

0

Posts: list返回特殊類型的響應。它只包含下一頁標記和帖子列表。頁面也是如此。

{ 
    "kind": "blogger#postList", 
    "nextPageToken": string, 
    "items": [ 
    [posts Resource][2] 
    ] 
} 

其他大部分google API都會返回totalResults,這是請求可能返回的out paging的總行數。 Blogger不會如上所示執行此操作。你可以通過以下方式繞過它。

Blogs: get返回一個blog Resource將返回關於博客的信息,包括它包含的帖子和頁面的數量。這是我知道獲得行數的完整結果的唯一方法。

"posts": { 
    "totalItems": 395, 
    "selfLink": "https://www.googleapis.com/blogger/v3/blogs/1969422610982987741/posts" 
}, 
"pages": { 
    "totalItems": 1, 
    "selfLink": "https://www.googleapis.com/blogger/v3/blogs/1969422610982987741/pages" 
}, 
+0

謝謝DalmTo。我以前很怕那個。從博客資源中獲取總項目的問題是,它可能比列表帖子的結果要大,因爲列表帖子可能會被過濾(例如按日期範圍)。 – xr280xr

+0

Blogger api是非常有限的,真的沒有其他方式,我知道 – DaImTo

相關問題