在使用新浪微博的API做项目时,需要获取转发了某条特定微博的所有用户的列表。决定采用statuses/repost_timeline得到转发列表,然而发现两个问题:
1:新浪微博对这个接口有限制,只能返回最新的2000条数据。官方文档如是说:此接口最多只返回最新的2000条数据。实践发现,一旦获取的数量即将超过2000条,发出去的请求都会返回如“代码1”所示的错误提示。
2:即使我想妥协,只用2000条数据,使用新浪微博提供的官方javaSDK相对应的测试类GetRepostTimeline.java时,每次请求却只能返回20条数据,想多次请求凑够所有用户列表却发现多次请求返回的结果居然有重复(而且测试权限每小时只有宝贵的150次请求次数,不想这么浪费)。
几经尝试,发现第二个问题通过repost_timeline接口的两个参数可以解决:

本文介绍了在使用新浪API获取特定微博转发用户列表时遇到的问题:接口限制返回最多2000条数据,且官方SDK每次请求仅返回20条。为解决此问题,通过设置`count`参数为200并循环请求,配合`page`参数改变页码,实现了获取最多2000条转发用户信息,同时减少了请求次数。但无法获取超过2000条的历史转发数据。
最低0.47元/天 解锁文章
1761

被折叠的 条评论
为什么被折叠?



