2010年8月16日月曜日

OAuth::Liteのget_request_tokenの代わりを作る

OAuth::Lite::Consumerのget_request_tokenがうまく動作しないようなので、
代用品を作ってみる。


my $consumer = new OAuth::LIte::Consumer(
  consumer_key => '****',
  consumer_secret => '****'
);

my $params = $consumer->gen_auth_params(
  'POST',
  'https://api.twitter.com/oauth/request_token'
);

$params->{oauth_callback} = 'コールバックのURL';

my $sig = $consumer->{signature_method}->new(
  consumer_secret => '*******',
  token_secret => ''
);
my $base = &OAuth::Lite::Consumer::create_signature_base_string(
  'POST',
  'https://api.twitter.com/oauth/request_token',
  $params
);

$params->{oauth_signature} = $sig->sign($base);

my $header = 'OAuth ';
foreach(sort{$a cmp $b} keys %$params){
  $header .= "$_\"" . uri_escape($params->{$_}) . "\",";
}
chop($header);
chop($header);

my $req = new HTTP::Request(
  'POST',
  'https://api.twitter.com/oauth/request_token'
);
$req->header('Authorization' => $header);
my $ua = new LWP::UserAgent();
my $res = $ua->request($req);

my $result;
foreach(split(/\&/,$res->content)){
  if($_ =~ /^([^\=]+)\=(.+)$/){
    $result->{$1} = $2;
  }
}


2010年8月15日日曜日

Apple Magic Trackpad



会社用に購入。購入してみた感想。
『思った以上に使いやすい』
クリックは下のゴム部分を使ってクリックをさせているように
できるようで、なんとなく早くダメになりそうな気がしたので
タップをクリック扱いするように変更。
ダブルタップでダブルクリック。
ダブルタップ後、ポイントをずらせばドラッグ。
もう一度タップで、ドロップ。

これがまた使いやすい。
家のMacBookProのようにマウス?操作が行える。
値段もそんなに高くないし、Bruetooth接続だけど
特に遅延もないようだし、いい買い物をしたのではないかと。

2010年8月4日水曜日

PerlでTwitterの検索を行う

こちらは簡単。

my $ua = new LWP::UserAgent();
my $req = new HTTP::Request(GET => 'http://search.twitter.com/search.atom?q=***');
my $res = $ua->request($req);
if($res->is_success()){
  my $content = $res->content;
  $content = decode('utf-8',$content);
  $content =~ s/&#(\d+);/chr($1)/ge;
  $content = encode('utf-8',$content);
  print $content;
}else{
  print "Error!!\n";
}