我有大约 1,700 个 Twitter 网名,我想将它们添加到 Twitter 列表中。由于 Twitter 将每个列表的用户数量限制为 500 个,因此我需要 4 个 Twitter 列表。
我正在使用 Twitter gem。这是我想出的(假值):
client = Twitter::Client.new({ oauth_token: access_token, oauth_token_secret: access_secret })
all_twitter_accounts = ['screen_name_1', 'screen_name_2', '...', 'screen_name_1700']
list_1_id = 12
list_2_id = 34
list_3_id = 56
list_4_id = 78
client.list_add_members(list_1_id, all_twitter_accounts[0...499])
client.list_add_members(list_2_id, all_twitter_accounts[500...999])
client.list_add_members(list_3_id, all_twitter_accounts[1000...1499])
client.list_add_members(list_4_id, all_twitter_accounts[1500...1999])
但是,这种方法存在两个问题:
该
all_twitter_accounts
数组中有一些不存在的屏幕名称。list_add_members
只是跳过那些,但这意味着列表不会填充到 500。所以我需要一种方法来首先清理all_twitter_accounts
或在当前列表真正达到其 500 的限制时自动切换到下一个列表。Twitter API似乎有些错误。我没有提到的解决方法可以工作。
无论如何要使这项工作?我只需要这样做一次,因此也欢迎任何其他解决方案。