M.C.P.C.

―むり・くり―プラスコミュニケーション(更新終了)


| トップページ |

2010年8月 2日 21:28

TwitterのAPIの消費され具合をプロフィール画像に入れるのはどうだろう

このエントリーをはてなブックマークに追加 mixiチェック

M.C.P.C.: TwitterのAPIの消費され具合を表示するPerlスクリプト

にて、自分のAPI消費具合を知ることができたのですが、まずはOAuth対応、そして、画像に文字を入れてアップロードすれば、わかりやすいんじゃあねえか、というのでやってみる。

今回は、画像を作るところだけ。アップロードしたい人は

M.C.P.C.: Net::Twitterで自画像Uploadは3.12あたりでできるように直っているようだ

をつなげてみてね。

Filename: limitcheck.pl

#!/usr/bin/perl
 
use strict;
use warnings;
use Config::Pit;
use DateTime;
use Image::Magick;
use Net::Twitter;
use YAML;
 
my $input_file  = '34563_1360706655.png';
my $output_file = 'html/s.png';
my $r = rate_limit_status('twitter.com@username');
my $t = DateTime->from_epoch(
  epoch     => $r->{reset_time_in_seconds},
  time_zone => 'Asia/Tokyo',
);
my $s = "$r->{remaining_hits}/$r->{hourly_limit}\n"
      . 'rest: ' . $t->hms;
my $im = Image::Magick->new;
$im->Read($input_file);
my %d = (
  font      => "ipaexm.ttf",
  pointsize => 20,
  fill      => "Red",
  text      => $s,
  x         => 0,
  y         => 20,
);
$im->Annotate( %d, stroke => 'white', strokewidth => 4 );
$im->Annotate( %d );
$im->Write($output_file);
 
exit;
 
sub rate_limit_status {
  my $account  = shift;
  my $config   = pit_get($account);
  my $consumer = YAML::LoadFile('consumer_keys.yaml');
  my $nt = Net::Twitter->new(
      traits          => [qw/API::REST OAuth/],
      consumer_key    => $consumer->{consumer_key},
      consumer_secret => $consumer->{consumer_key_secret},
      ssl => 1,
     # username => $config->{username},
     # password => $config->{password},
  );
  $nt->access_token       ($config->{access_token});
  $nt->access_token_secret($config->{access_token_secret});
  my $res = $nt->rate_limit_status();
  #my $res = $nt->rate_limit_status({authenticate => 0});
  return $res;
}
 
__END__

Filename: consumer_keys.yaml (自分で用意しよう)

---
"consumer_key": 'aqwsedrftgyhujikolp'
"consumer_key_secret": 'aqswedrftgyhujikolppaqwsderftgyhujikolpygl'
Filename: ~/.pit/default.yaml (自分で用意しよう)
---
"twitter.com@username":
  "access_token" : '12345678-qawsedrftgyhujikolp;awsedrftgyhujikorftgy'
  "access_token_secret" : 'qawsedrftgyhujikolpaqwsedrftgyhujikolfrtgf'
これ実行しますと、

入力画像
34563_1360706655

に対し、

出力画像
34563_13607066551

となります。

あとはアップロードすればよい。

~~~

んで、これTwitterのAPI消費数を取ってきているわけですけれども、ステータスアイコンで文字を表現できるっていうのは色々おもしろいことができるんじゃーねーかって話。

1分ごと更新&アップロードしてデジタル時計、とかできると思うし(アクセス過多で止められてしまわないかが不安ではある)、んーとうちの業界でいえば、印刷通販さんのアカウントで、その日の入稿件数をカウントアップして画像に含めるとか、ただ今電話がつながりにくくなっておりますを動的に入れるとか、フォントベンダーでいえば、そのフォントベンダーのフォントを使った文字をプロフィール画像に入れ込むとか(自社サービスに対してだったら動的生成用サーバライセンスとかいくらでも融通きくだろう的な)、色々ユニークなサービスが考え付くと思うわけなんです。

投稿 大野 義貴 [Perl] | |

トラックバック(0)

トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/3301

コメントする