Growl用のWeb API

GrowlをWebアプリから叩くためのAPIを提供します。ローカルホスト上にCGIが動くWebサーバが必要です。

0. Growlをインストールし、システム環境設定>Growl>ネットワークで「通知される受信を聞く」をONにする。
1. CPANMac::Growlなど必要なライブラリをインストール。
2. 下記スクリプトを ~/Sites/growl.cgi 内におく。
3. http://localhost/~USERNAME/growl.cgi?title=タイトル&msg=メッセージ内容 にアクセスすると、通知が表示される。

localhost以外からでも何でも通知できてしまうので、Webサーバの公開先にはご注意を。

利用例としては、前のエントリのTwitterクライアントなんかがあります。

以下、スクリプト

#!/usr/bin/perl
use strict;
use Mac::Growl ':all';
use utf8;
use CGI;
my $q = new CGI;

my $name = "Message via Web API";
my $title = $q->param("title");
my $msg = $q->param("msg");

RegisterNotifications("Growl Web API", [$name], [$name]);
PostNotification("Growl Web API", $name, $title, $msg);

print "Content-type: text/javascript\n\n\"OK\";";

HTTP::Daemonに載せた方が良かったかな。
あと未だアイコンに対応していないので誰の発言か瞬時に認識できない…。

↑追記

デーモン化&アイコン表示に対応しました。次のエントリ参照。