我正在尝试使用Twitter流API在控制台中演示推文,但此刻屏幕上没有任何内容。我使用AnyEvent::Twitter::Stream包来执行此操作,我已采用该页面上包含的OAuth示例并稍作编辑:
#!/usr/local/bin/perl -w
use AnyEvent::Twitter::Stream;
# to use OAuth authentication
my $listener = AnyEvent::Twitter::Stream->new(
consumer_key => "my_consumer_key",
consumer_secret => "my_consumer_secret",
token => "my_token",
token_secret => "my_token_secret",
method => "sample",
api_url => "https://stream.twitter.com/1.1/statuses/sample.json",
track => "apple",
on_tweet => sub {
my $tweet = shift;
print "$tweet->{user}{screen_name}: $tweet->{text}\n";
},
);
我期待这个打印到stdout提到“apple”的所有推文,但是当我执行这段代码时,脚本会立即退出并返回shell。我有点期待这个继续运行并继续向stdout打印消息。我误解了它是如何工作的吗?
答案 0 :(得分:1)
您可能想查看提供的示例:
http://cpansearch.perl.org/src/MIYAGAWA/AnyEvent-Twitter-Stream-0.27/eg/track.pl
它涉及创建一个AE::cv
对象,并在设置Twitter流监听器之后,在该对象上调用recv
,以便它实际循环等待数据。