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

转载于:https://www.cnblogs.com/hewenwu/p/3674360.html

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

  1. PHP+新浪微博开放平台+新浪云平台(SAE)开发微博应用——PHP SDK中Demo程序简析

    PHP+新浪微博开放平台+新浪云平台(SAE) --新浪微博应用开发的一个解决方案 一.PHP+新浪微博开放平台+新浪云平台(SAE)方案的基础 二.建立微博应用的过程 三.PHP SDK中Demo程 ...

  2. 在vue3+vite中引入高德开放平台API实现边界范围多边形的绘制

    在vue3+vite中引入高德开放平台API实现边界范围多边形的绘制 1,先去高德地图开放平台申请账号注册流程不再赘述; 2,在我的应用中创建key,选择web端Js点击提交生成; 3,生成后可以看到 ...

  3. 新浪微博开放平台深度历险

    作者:蒋宇捷(hfahe) 版权声明:原创作品,欢迎转载,转载时请务必以超链接形式标明文章原始出处 .作者信息和本声明. 10月21日补充 解决Ajax跨域的方法 可通过新浪提供的JS SDK解决,详 ...

  4. Oauth2认证以及新浪微博开放平台应用

    一.OAuth2.0概述 大部分API的访问如发表微博.获取私信,关注都需要用户身份,目前新浪微博开放平台用户身份鉴权有OAuth2.0和Basic Auth(仅用于应用所属开发者调试接口),新版接口 ...

  5. c#调用新浪微博开放平台接口

    在这篇文章中,我们将和大家分享如何通过.NET(C#)调用新浪微博开放平台接口. 使用新浪微博开放平台接口,需要先申请一帐号,申请方法:给@微博开放平台发送私信,或者给open_sina_mblog@ ...

  6. PHP+新浪微博开放平台+新浪云平台(SAE)开发微博应用——进一步学习的走向和有用的资源

    PHP+新浪微博开放平台+新浪云平台(SAE) --新浪微博应用开发的一个解决方案 一.PHP+新浪微博开放平台+新浪云平台(SAE)方案的基础 二.建立微博应用的过程 三.PHP SDK中Demo程 ...

  7. 新浪微博开放平台开发-android客户端(2)

    引言 最近不是太忙,花了一些时间学习android的应用开发.经过两个星期的学习,学习的同时还写了很多的demo示例,可以从基本控件及基本动画效果等示例demo集合大放送,持续更新下载. 从这个星期开 ...

  8. php开放平台,顺丰开放平台API PHP SDK demo

    顺丰开放平台Api PHP SDK demo 引用 对接前期工作注册 提交接入申请 接口初始化配置,获得 app_id 和app_secret 完成测试环境测试 进入生产使用 接入注意事项申请令牌 ( ...

  9. 《后端》开放平台API安全设计

    文章目录 开放平台API接口加密,签名策略 参考各大平台策略 支付宝 微信 签名的概念与方法 2.1 为什么要签名? 2.2 签名算法过程 2.2.1 APPKEY+签名认证 2.2.2 token+ ...

最新文章

  1. 运维的shell小编(6)
  2. 如何屏蔽ctrl + v 粘贴事件,鼠标右键粘贴事件
  3. react中使用create-react-app创建项目执行函数两次
  4. 1.7 单层卷积网络-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
  5. LINQ之路系列博客后记
  6. Eclipse 设置自动导包
  7. Spring MVC集成slf4j-logback
  8. 百度,淘宝,腾讯三大巨头HTML页面规范分解
  9. mariadb mysql 创建_MariaDB 创建数据库,学习MariaDB,MariaDB教程,MariaDB手册,MariaDB学习,MariaDB实例 | 开发学院...
  10. Android WebView中那些不得不解决的坑~~
  11. 第一部分 1.2 定义OC的类和创建OC的对象
  12. LC3 正式升级 Open Source Summit,分论坛主题活动精彩纷呈
  13. 从ISO 文件制作U盘启动盘.
  14. 小程序开发教程 微信小程序视频教程
  15. 遗传算法 matlab实现 多维变量 二进制编码
  16. ApacheCN 翻译活动进度公告 2019.5.31
  17. ps链接图层的使用方法和快捷键,ps图层链接怎么做的
  18. MyBatis-Plus的使用
  19. 550+超强动态文字动画AE模板(标题,字幕,标注,对话)等视频制作元素
  20. 【前端监控系统】埋点数据上报的3种方式

热门文章

  1. swift_001(Swift的注释)
  2. [ Luogu 3924 ] 康纳的线段树
  3. 台北到淡水版Firefox玩网页游戏黑屏
  4. JavaScript [ 转 ] —— 面向对象编程(三):非构造函数的继承
  5. C# 读取 appconfig文件配置数据库连接的方法
  6. 博客园上海俱乐部第二次活动全程图片报道(多图)
  7. ewebeditor编辑器ASP/ASPX/PHP/JSP版本漏洞利用总结及解决方法
  8. struts2异常处理,global-results定义全局结果处理
  9. 解决vue项目eslint校验 Do not use ‘new‘ for side effects 的两种方法
  10. lombok使用中出现继承关系的对象时,出现的问题及解决办法