コマネタ帳(旧) by iyoupapa

PCや土いじりやゲームやオモチャ、思いつくまま細切れネタを書き散らかす日記

Creative Commons Licenseiyoupapaが書いたコマネタ帳の文章は「Creative Commons 表示-継承 2.1 日本」ライセンスです。写真については私のFlickrで配布しています。新しい「コマネタ帳」に移転しました。

月別アーカイブ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[プログラミング]TwitterのBotをOAuth対応にする

第15回北海道開発オフ@JRHokkaidoSapをOAuth対応に修正したときのメモ。

1.アプリケーションの登録

  • アプリケーション作成者のアカウント(この場合@iyoupapa)でTwitterにログインして「Twitter / アプリケーション」から「Register a new application」を選択する。
  • 「Application Icon」を設定する。
  • 「Application Name」にアプリケーション名を適当に入れる。
  • 「Description」に最低30文字を入れる。
  • 「Application Website」にこのブログのURLを入力する。
  • 「Application Type」を「Client」にする。
  • 「Default Access Type」を「Read & Write」にする。
  • 個人なので、「Organization」、「サイト」は空欄にする。
  • 「Use Twitter for login」はチェックしない。
  • CAPTCHAを入力して登録する。
  • 登録後の「Consumer key」と「Consumer secret」をコピペ保存する。

2.アクセストークンの取得

  • Net::Twitterを準備する。Windows の ActivePerlの時はPPM(Perl Package Manager)からNet-Twitterをインストールする。
  • Twitterに「Botが動作するアカウント(この場合@JRHokkaidoSap)」でログインする。
  • 以下のコードにConsumer keyとConsumer secretを書き込んで実行する。
  • 表示されたURLにアクセスして、アクセスを許可する。
  • 数字が大きく表示されるので、その数字を先ほどのスクリプトに入力する。
  • 「Access token」と「Access token secret」が表示されるのでコピペ保存する。
#!/user/bin/perl
use strict;
use warnings;

use utf8;
use Encode;
use Net::Twitter;

binmode STDOUT, ':encoding(shiftjis)';
binmode STDERR, ":encoding(shiftjis)";

my $nt = Net::Twitter->new(
  traits      => ['API::REST', 'OAuth'],
  consumer_key  => "CONSUMERKEY",    # ←
  consumer_secret  => "CONSUMERSECRET", # ←
);

my $access_token;
my $access_token_secret;

unless ( $nt->authorized ) {
  # The client is not yet authorized: Do it now
  print "Authorize this app at ",
   $nt->get_authorization_url,
   " and enter the PIN#\n";

  my $pin = <STDIN>; # wait for input
  chomp $pin;

  my($access_token, $access_token_secret, $user_id, $screen_name) = $nt->request_access_token(verifier => $pin);
  #  save_tokens($access_token, $access_token_secret); # if necessary
  print "Access token: ", $access_token, "\n";
  print "Access token secret: ", $access_token_secret, "\n";
}

3.本体スクリプトの修正

  • ログイン部を修正する。
sub initTwitter
{
  $bot = new Net::Twitter( 
    traits           => ['API::REST', 'OAuth'],
    consumer_key     => $CONSUMER_KEY,
    consumer_secret  => $CONSUMER_SECRET,
  );
  $bot->access_token($ACCESS_TOKEN);
  $bot->access_token_secret($ACCESS_TOKEN_SECRET);
}

4.多分OK!

お疲れ様でした。…いやまだ実環境に適用していないんだけどw。

5.おまけ

PPMもNet::Twitterもプロクシを超えるときは環境変数HTTP_PROXYに”http://proxyhost:8080/”などと設定しておけばいい。LWP::UserAgentは環境変数だけでは認識しないので、env_proxyを呼び出す。

  my $ua = LWP::UserAgent->new;
  $ua->env_proxy;

これまでプロクシのない環境ばかりだったので、こんな基本も知らないのさ><。

6.Thanks

スポンサーサイト

[写真]写真展「SPCT PhotoGallery」

会場丘珠空港に行って写真展の設営をお手伝いしてきました。

IMG_1935 IMG_1936展望室に4人の写真が並んでいます。それぞれの撮り方の違いが見えて結構面白いです。

写真展は2月28日までです。是非お立ち寄りください。

[写真]写真展「SPCT PhotoGallery」に参加します

SPCT PhotoGallery@yukisskさんが「写真展やるけど興味ある人いる?」と募集していたので思わず手を挙げてしまいました。ということで写真展「Sapporo Photograph Cluster on Twitter Photo Gallery(SPCT PhotoGallery)」に参加します。なんと@ak_ephemeraさん、@mio_sprさんとの4人での展示となっています。隅っこの方でひっそりしてようと思ったのに、4人じゃ無理ですねw。

日時
2010/2/15~2010/2/28 7時から19時まで
場所
札幌丘珠空港ビル 3階 展望室

お近くにお越しの際は是非お立ち寄りください。以上、告知でした。

今回は「北海道/札幌らしい写真」が一応のテーマなんですが、スナップでテーマ性が無い写真ばかりでかなり泣きそうでした。自分の写真を見直すいい機会にはなりましたが…うん、ダメ出しされる覚悟はできてるからw。

skin presented by myhurt : BLOG | SKIN
  
copyright © 2005 コマネタ帳(旧) some rights reserved. Powered by FC2ブログ