新浪微博开放平台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