所以在PHP中,这段代码在几个月前完成了。
$tweetsToSlippy = $connection->get('http://search.twitter.com/search.json', array('q' => $query, 'since_id' => $since_id))->results;
foreach ($tweetsToSlippy as $tweet)
{
$user_id = $tweet->from_user;
echo "adding $user_id <br>\n";
$connection->post('friendships/create', array('screen_name' => $user_id));
}
我正在尝试用Ruby做同样的事情。我可以回复,我可以更新,但我缺乏理解尝试完成我在上面的代码中所做的事情,这会进行API调用并检索Json列表,然后从中提取用户。
def searchAdd
topics = ['topic1', 'topic2']
userBank = []
topics.each do |topic|
userBank << Twitter.search(topic, :result_type => "recent")
end
userBank.each do |user|
Twitter.follow(user)
puts user
end
end
我迷路了,帮帮忙!
答案 0 :(得分:1)
让我们看看你的代码(我简化了一下)
attr_accessible :client
def initialize
client = Twitter::Client.new
end
....
def searchAdd(topics)
[*topics].each do |topic|
Twitter.search(topic, :result_type => "recent").each do |tweet|
client.follow :screen_name => tweet.from_user_id)
# OR without client ↴
# Twitter.post('friendships/create',:screen_name => tweet.from_user_id)
end
end
end
我不太熟悉,不知道友谊/创建是否与设置用户遵循相同,但如果它是它的作用。我希望这有帮助
请勿查看api的使用情况
答案 1 :(得分:1)
Twitter.search.results
不返回Twitter::User
个对象,它会返回Twitter::Status
个对象。
如果我试图实现你想要实现的东西,我会这样写:
require 'twitter'
def search_add
topics = ['peanut butter', 'jelly']
search_results = topics.collect do |topic|
Twitter.search(topic, :result_type => 'recent').results
end
search_results.flatten.each do |status|
puts status.from_user
Twitter.follow(status.from_user_id)
end
end