2013年05月07日

Net::Twitter::Lite で search を使う (API1.1)

この記事は古いでございます!


このサイト様

http://shoheik.hatenablog.com/entry/2013/01/13/133830

を参考に書いていたのだけれども、Perl のディストリが違うのか、なんだかうまくいかなかったので。
環境は windows 7 Ultimate, Active perl v 5.14.2 です。


アカウントの設定や Key の取得、パッケージのインストールは他サイト様を参照してください(ヽ´ω`)
具体的には

use Net::Twitter::Lite::WithAPIv1_1;


と、パッケージを指定しなければならないみたい。
1.1が主流になったら変更されそうですね。

(6/12)ひぃすみません、new するときもWithAPIv1_1が必要でした。あと result は statuses になったようです。直しました。
参考にしたサイト様はこちら

http://blog.worstman.net/1624

サンプルコード

use utf8;
use strict;
use warnings;
use Net::Twitter::Lite::WithAPIv1_1;
use URI::Escape;

#コンシューマーキー他を設定してください
my $consumer_key = '';
my $consumer_secret = '';
my $token = '';
my $token_secret = '';


my $nt = Net::Twitter::Lite::WithAPIv1_1->new(
consumer_key => $consumer_key,
consumer_secret => $consumer_secret,
apiurl => 'https://api.twitter.com/1.1',
legacy_lists_api => 0
);

$nt->access_token($token);
$nt->access_token_secret($token_secret);
my $res;
my $targetquery = "http://www.yahoo.co.jp";
$res = $nt->search({q=>$targetquery,count => 100, lang => 'ja'});

# print response
my %hs = %{$res};
foreach my $kk(keys %hs){
print $kk."\t".$hs{$kk}."\n";
}

my @search_res = @{$hs{'statuses'}};
foreach my $rr(@search_res){
print $rr."\n";
foreach my $kkk(keys %{$rr}){
if(defined ${$rr}{$kkk}){
print $kkk."\t".${$rr}{$kkk}."\n";
}
}
}


できた?
タグ:Twitter Perl
posted by k_yama at 14:22 | Comment(0) | 備忘録
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: