zoukankan      html  css  js  c++  java
  • 新浪微博开放平台API中page参数的使用方法

    新浪微博开放平台API中page参数的使用方法

          在做项目的时候,有时候要调用新浪微博开放平台的API。说实话,新浪微博的API功能很强大,但是API文档写的不是很清楚。

    我在做项目的时候,调用了很多API,大多都是查询类的,比如,输入一个uid,获取该用户所有的微博。这个时候就要用到https://api.weibo.com/2/statuses/user_timeline.json微博接口,这个接口的参数为:

          这里面大多数参数我们都知道什么意思,但是其中有个page参数让我纠结了好久,这个page说明是:返回结果的页码,默认为1。我以为是结果太多,要分很多页,然后page参数指定的是每次返回的页数,比如page=4,就返回总共4页的微博信息给我。但是当我这样做了之后,发现无论page设为多少,返回的都是固定的条数,比如20条,而每次返回的结果内容不一样。琢磨了好久,查了资料,做了实验之后,才知道,原来page参数的真正含义是:返回第几页的信息,而不是总页数。也就是你指定page=1,那么就返回第一页的,page=3就返回第三的信息。这样就明白了这个API的用法了。

          但是后来又遇到一个问题了,我怎么获取所有的微博信息?比如一个用户有200条微博,系统规定每次每页只能返回最多50条信息,那该怎么办?我第一想法是分多次去取,每次去一页的内容,下次再去下一页的内容。这个想法是对的,但是我怎么知道总共有多少页呢?

    这个问题的解决方案就是,无论你去取哪一页的内容,最后返回信息里面都有一项,叫total_number:

    也就是告诉你总共有多少条微博了。所以我们可以先取第一页(第一页总是存在的,所以取第一页保险一些),获取微博总数,然后用total_number去除以每页的微博数cout,再加上1,就是要取的总次数,然后在用循环去把每一页的微博信息取回来,这样就ok了。

          其他有page参数的API也一样。

  • 相关阅读:
    BZOJ1527 : [POI2005]Pun-point
    2016-2017 ACM-ICPC Southwestern European Regional Programming Contest (SWERC 2016)
    2016-2017 ACM-ICPC Northwestern European Regional Programming Contest (NWERC 2016)
    NAIPC-2016
    BZOJ2498 : Xavier is Learning to Count
    ACM ICPC Vietnam National Second Round
    XVI Open Cup named after E.V. Pankratiev. GP of Ukraine
    XVI Open Cup named after E.V. Pankratiev. GP of Peterhof
    HDU5509 : Pattern String
    BZOJ4583 : 购物
  • 原文地址:https://www.cnblogs.com/hewenwu/p/3674360.html
Copyright © 2011-2022 走看看