nDiki : 2008年03月13日
2008年3月13日 (木)
■ Flickr の写真を自動的に Twitter アイコンにする

2週間ほど前にtwitterfeed で Flickr に写真をアップロードしたら自動的に Twitter にタイトルと URL をポストするようにしたのだが、これだと写ツみたいに画像そのものはポストされず今一歩なので、写真自体を自動的に Twitter アイコンにアップロードするようにしてみた。
流れは以下:
- cron で定期的に Flickr の RSS フィードをフェッチする (URI::Fetch + XML::RSS)。
- 新しい写真がアップロードされていたら(最新の写真が変化していたら)、RSS フィード中のサムネイル画像 URL を抜き出して画像をダウンロードする (URI::Fetch)。
- 正方形に crop。それからころころ Twitter アイコンを変えると誰だかわからなくなるので、決まった画像 (今のところ自分の写真)を重ねる (ImageMagick / PerlMagick)。
- Twitter にアップロードする(アップロードスクリプト)。
例えば今日 VQ1005 で撮影して Flickr にアップロードした写真を自動的に加工させたものがコレ。
なんか偽中継のような嘘臭さがあるけれど、まあだいたいアップロードした写真は自分が実際にその場にいたのだから、あながちでもないんじゃないか。
- Twitter にケータイ写真を流すのに twitterfeed を使う (2008-02-22)
- Twitter ステータスを nDiki サイドバーに表示 (2007-11-09)
- デジカメ写真管理ソフトウェア digiKam (2006-03-10)
- VQ1005 の画像をケータイで閲覧 (2008-03-20)
- twitterfeed から FriendFeed へ (2009-07-17)
■ Twitter のアイコンを Perl スクリプトで更新する

API 経由では Twitter のアイコンを変更できなさそうなので、WWW::Mechanize でアイコン画像をアップロードする Perl スクリプトを書いてみた。
#!/usr/bin/perl
use strict;
use warnings;
use WWW::Mechanize;
die "no file name" if @ARGV == 0;
my $file_name = $ARGV[0];
my $name = 'ユーザ名';
my $password = 'パスワード';
my $mechanize = WWW::Mechanize->new();
$mechanize->get('http://twitter.com/');
die unless $mechanize->success;
$mechanize->submit_form(form_number => 1,
fields => {
username_or_email => $name,
password => $password});
die unless $mechanize->success;
$mechanize->follow_link(text => 'Settings');
die unless $mechanize->success;
$mechanize->follow_link(text => 'Picture');
die unless $mechanize->success;
$mechanize->submit_form(
form_number => 1,
fields => {'profile_image[uploaded_data]' => $file_name}
);
die unless $mechanize->success;
- Twitter のアイコンを Perl スクリプトで更新する (改) (2009-03-20)
- Twitter を使い始めて1年 (2008-04-06)
- Plagger で Twitter のあれこれをメールで通知 (2008-12-25)
- Flickr の写真を自動的に Twitter アイコンにする (2008-03-13)
- 他の Web サイトの情報を URI::Fetch でキャッシュ付き取得 (2005-10-29)
■ Skype のアバタを WSH 上の JScript スクリプトで変更する

まず Windows XP BOX に、Skype4COM 1.0.28.2 を入れる。 Skype4COM-1.0.28.2.zip をとってきて展開し、アーカイブの中の DLL を登録する。
regsvr32 Skype4COM.dll
次に以下のスクリプトを書いて、例えば setskypeavatar.js というファイルに保存する。
skype = WScript.CreateObject("Skype4COM.Skype");
skype.Settings.LoadAvatarFromFile("C:\avatar.png");
で、Skype を実行してログインしている状態でコマンドプロンプトから
start setskypeavatar.js
で実行する(あるいはエクスプローラ上から実行する)。Skype 側が「他のプログラムが Skype にアクセスしようとしています」というダイアログを表示するので連携を許可してあげると、アバタが avatar.png の画像に変更される。
細かい点気にしなけば簡単。
なお今回のように単純に Windows Script Host から API 接続すると、WScript.exe に対しての許可を与えなければならないので、その点は注意が必要。
ちなみに Skype for Linux では API にある「SET AVATAR」コマンドがまだ使えないので、同様のことが実現できなかった。
- Twitter への書き込みを自動的に Skype ムードメッセージに設定... (2008-08-05)
- Evernote に添付した FreeMind Map ファイルを直接開け... (2010-03-25)
- 1インチポータブル HDD HDMC-U12 インプレッション (2006-12-28)
- Skype チャットを Evernote に保存する方法 (2009-03-23)
- ホームネットワークカメラ BL-C10 買っちゃった (2005-01-18)
■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 使い方 方法 設定 サンプル ダウンロード 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 噂 最新 MP3 動画 意味 お薦め お勧め おすすめ 便利 Blog ブログ mixi 修理 デザイン ビックカメラProcess Time: 0.040502s / load averages: 0.43, 0.32, 0.26
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)




◇ Twitter やってます。この記事が気にいったらぜひ twitter.com/Naney の follower になってください。
◇ 2GB 無料のオンラインストレージサービス Dropbox に次のリンク先から登録すると今なら 250MB プラス! → Dropbox