JScriptでGmailの未読メール数を取得

タスクトレイに鎮座しているGoogle Talkのアイコンにカーソルを合わせての未読数を確認するのが面倒になったので、テキトウにでっち上げてみようと試みる。GmailのAtomフィードにはfullcountとかいう要素があったりしたので簡単っぽい。

こういう場合はAtomフィードをパースしてうんたらかんたらとか考えるとバカになりそうなので、JScriptでサクッとXSLT。

JScriptのコードは、

var url = "http://username:password@mail.google.com/mail/feed/atom";

var xml = new ActiveXObject("Microsoft.XMLDOM");
xml.async = false;
xml.load(url);

var xsl = new ActiveXObject("Microsoft.XMLDOM");
xsl.async = false;
xsl.load("tcgmail.xsl");

WScript.Echo(xml.transformNode(xsl));

XSLのコードは、

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:atom="http://purl.org/atom/ns#"
  version="1.0">

  <xsl:output method="text" encoding="Shift_JIS"/>

  <xsl:template match="/">
    <xsl:value-of select="//atom:feed/atom:fullcount"/>
  </xsl:template>

</xsl:stylesheet>

これ等をgmail.jsとgmail.xslとしてどっかに保存し、gmail.jsを実行してやれば未読数がダイアログでポップアップしてきます。実際にはもっと表示の仕方を工夫するべき。僕はもちろんT(略。まぁT(略も飽きてきたので、今日見つけたSnarl使いになろうかなとか(SnarlはMacのGrowlっぽい何かを通知するためだけにあるアプリケーション)。