javascriptでtwitter簡易クライアント

http://q.hatena.ne.jp/1240263935
回答しようと思ったら既に質問が閉じられていた罠。
まあ、私もtwitterclient.jsのソースとかとても助かったので公開しとく。
twitterclient.js。
http://muumoo.jp/news/2007/04/10/0twitterclient.html



var LOG_FILE = 'c:\log.txt';

var USER = 'userId';
var PASS = 'password';

main();

function main(){
var UNICODE = -1;
var FSO = new ActiveXObject("Scripting.FileSystemObject");

//最後の発言ID取得
var lastId = '';
var ts = FSO.OpenTextFile(LOG_FILE, 1, true, UNICODE); //読み込み
if (!ts.AtEndOfStream) {
ts.ReadAll().match(/ID:([0-9]+):/g);
lastId = RegExp.lastMatch;
if (lastId.length > 3) lastId = lastId.substring(3, lastId.length - 1);
}
ts.Close();

//TwitterAPIで最後の発言以降の発言を取得
var xmlhttp = (function(){
try{ return new ActiveXObject('Msxml2.XMLHTTP'); }
catch(e){
try{ return new ActiveXObject('Microsoft.XMLHTTP'); }
catch(ee){ return null; }
}
})();
if(!xmlhttp) return;

var requestUrl = 'http://twitter.com/statuses/friends_timeline.json?count=200';
if (lastId) {
requestUrl += '&since_id=' + lastId;
}
xmlhttp.open('GET', requestUrl, false, USER, PASS);
xmlhttp.send();

var timeline = eval(xmlhttp.responseText);

//ファイルに書き込み
var ts = FSO.OpenTextFile(LOG_FILE, 8, true, UNICODE); //追加書き込み
var i;
for (i = (timeline.length - 1); i >= 0 ; i--) {
if (timeline[i].user && timeline[i].user.name && timeline[i].created_at && timeline[i].id && timeline[i].text) {
ts.WriteLine(timeline[i].user.name + ' Date:' + timeline[i].created_at + ' ID:' + timeline[i].id + ':');
ts.WriteLine(timeline[i].text);
ts.WriteLine('');
}
}
ts.Close();

//WScript.echo('ok.');
}