如何在 Rails 中检索多达 3200 个状态?

问题描述 投票:0回答:2

背景 构建一个 Rails 应用程序,将其他用户的状态存储到我的数据库中 使用 gem 'twitter'

使用模块方法,我可以调用 Twitter.user_timeline("username", count: 3200),但它最多会检索 200 个状态。

问题 是否存在使用 gem 的方法或代码可以超出此限制?或者我如何翻页超过 200 个状态?

我研究过你最多可以达到3200个状态。 我不希望超过它,但至少达到极限。

ruby-on-rails twitter pagination
2个回答
1
投票

您一次只能检索 200 个,文档似乎建议您可以使用参数 :max_id 来获取较旧的状态。 3200 个状态已经是你能回溯到的最远了


0
投票

以下是我与注释一起使用的代码,使用 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
© www.soinside.com 2019 - 2024. All rights reserved.