新浪微博開放平臺API中page參數的使用方法web
在作項目的時候,有時候要調用新浪微博開放平臺的API。說實話,新浪微博的API功能很強大,可是API文檔寫的不是很清楚。json
我在作項目的時候,調用了不少API,大多都是查詢類的,好比,輸入一個uid,獲取該用戶全部的微博。這個時候就要用到https://api.weibo.com/2/statuses/user_timeline.json微博接口,這個接口的參數爲:api
這裏面大多數參數咱們都知道什麼意思,可是其中有個page參數讓我糾結了很久,這個page說明是:返回結果的頁碼,默認爲1。我覺得是結果太多,要分不少頁,而後page參數指定的是每次返回的頁數,好比page=4,就返回總共4頁的微博信息給我。可是當我這樣作了以後,發現不管page設爲多少,返回的都是固定的條數,好比20條,而每次返回的結果內容不同。琢磨了很久,查了資料,作了實驗以後,才知道,原來page參數的真正含義是:返回第幾頁的信息,而不是總頁數。也就是你指定page=1,那麼就返回第一頁的,page=3就返回第三的信息。這樣就明白了這個API的用法了。ui
可是後來又遇到一個問題了,我怎麼獲取全部的微博信息?好比一個用戶有200條微博,系統規定每次每頁只能返回最多50條信息,那該怎麼辦?我第一想法是分屢次去取,每次去一頁的內容,下次再去下一頁的內容。這個想法是對的,可是我怎麼知道總共有多少頁呢?url
這個問題的解決方案就是,不管你去取哪一頁的內容,最後返回信息裏面都有一項,叫total_number:spa
也就是告訴你總共有多少條微博了。因此咱們能夠先取第一頁(第一頁老是存在的,因此取第一頁保險一些),獲取微博總數,而後用total_number去除以每頁的微博數cout,再加上1,就是要取的總次數,而後在用循環去把每一頁的微博信息取回來,這樣就ok了。orm
其餘有page參數的API也同樣。blog