「del.icio.usのブックマークに言及しているブログをBLOGRANGER APIで検索する」の続きです。あなたやお好きなdel.icio.us userを指定できるように改良してみました。↓こんな感じです。
次のとおり、「ranger.cgi?」に続けてdel.icio.us userを指定します。ここでは「developmentor」を指定しています。なお、省略したり、書式に誤りがあるときは「developmentor」になります。
http://developmentor.lrlab.to/delicious/blogranger.cgi?developmentor
次のようなCGI/perlスクリプトで実現しています。JavaScritpコード中でquery_stringを取り出す方法を使って、JavaScriptコードのみで完結してもよかったのですが、なんとなく脆弱な印象があったのでCGI/perlという形にしました。
#!/usr/bin/perl #!perl ## ## blogranger.cgi ## ## Copyright(C) 2006 DEVELOPMENTORLEARNING RESOURCE LAB. ## http://blog.goo.ne.jp/developmentor/ ## ## This code cannot be redistributed without ## permission from blog.goo.ne.jp/developmentor/ ## ## v1.00 2006/12/13 00:00:00 ## use strict; use CGI qw(:standard); $CGI::POST_MAX=1024*1024*1; #1MB use CGI::Carp qw(fatalsToBrowser); ## my $kanjicode = 'utf8'; my $charset = 'UTF-8'; my $dir_tmpl = '.'; ## &main; exit; ## sub main { my $user = param('keywords'); $user = 'developmentor' if $user !~ /^[a-z0-9_.]+$/; my $html = &load_template('blogranger', user => $user ); print CGI::header( -type => 'text/html', -charset => $charset ); print &kanjicode($html, $kanjicode); } ## sub load_template { my ($name, %param) = @_; use HTML::Template; my $template = new HTML::Template( filename => "$dir_tmpl/$name.tmpl", die_on_bad_params => 0, global_vars => 1, ); $template->param( %param, ); return $template->output; } ## sub kanjicode { my ($textref, $kanjicode) = @_; use Jcode; &Jcode::convert($textref, $kanjicode); return $$textref; } "True Value";
HTMLテンプレートファイルが見たい方は、次のアドレスからどうぞ。