背景 构建一个 Rails 应用程序,将其他用户的状态存储到我的数据库中 使用 gem 'twitter'
使用模块方法,我可以调用 Twitter.user_timeline("username", count: 3200),但它最多会检索 200 个状态。
问题 是否存在使用 gem 的方法或代码可以超出此限制?或者我如何翻页超过 200 个状态?
我研究过你最多可以达到3200个状态。 我不希望超过它,但至少达到极限。
您一次只能检索 200 个,文档似乎建议您可以使用参数 :max_id 来获取较旧的状态。 3200 个状态已经是你能回溯到的最远了
以下是我与注释一起使用的代码,使用 max_id 作为参数,通过循环运行它,然后将其保存到数据库。希望这对某人有帮助
// 获得初始响应
//这将返回 20 个结果
x = Twitter.user_timeline("username")
//将每个结果保存到数据库
for i in(0..x.length-1)
tweet = Tweet.create
tweet.info = x[i].whatever_info
tweet.save
end
//现在获取最后一个 tweet_id 并将其作为请求的一部分传递给 max_id
last_id = x.last.id
prev_id = 0
//现在你想将last_id传递到一个新的请求中并循环它直到last_id等于previous_id
while prev_id != last_id do
a = Twitter.user_timeline("username", max_count: 200, max_id: last_id)
for i in(0..x.length-1)
tweet = Favoritetweet.create
tweet.info = a[i].whatever_info
tweet.save
end
prev_id = last_id
last_id = x.last.id
end