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