Twitter で ActionScript 3.0 のクライアントが出てこない理由 Socket 編
前回の ActionScript 3.0 でクライアントを作ったけどダメだった問題で
Socket でやってみたら?というコメントがあったので
おお!そうだ!と思ってやってみた。
で、ソースはこんな感じ
: var socket:Socket = new Socket('twitter.com', 80); socket.addEventListener('connect', function(e:Event):void { socket.writeUTFBytes('POST ' + API_PATH_PREFIX + apiName + API_PATH_SUFFIX + '\n'); socket.writeUTFBytes('Host: twitter.com\n'); socket.writeUTFBytes('Authorization: Basic ' + Base64.encode(username + ':' + password)); if (opts != null) { var variables:URLVariables = new URLVariables(); for (var propName:String in opts) { variables[propName] = opts[propName]; } var data:String = variables.toString(); var length:int = data.length; socket.writeUTFBytes('Content-Type: application/x-www-form-urlencoded\n'); socket.writeUTFBytes('Content-Length: ' + length + '\n'); socket.writeUTFBytes('\n'); socket.writeUTFBytes(data); } socket.flush(); }); :
Twitter で ActionScript 3.0 のクライアントが出てこない理由
ActionScript 3.0 + JavaScript でブラウザなんだけど、サーバを介さずに Twitter とやりとりできるツールを作った。
AS はこんな感じ
: var loader:URLLoader = new URLLoader(); var req:URLRequest = new URLRequest(API_PREFIX + apiName + API_SUFFIX); req.method = 'POST'; req.requestHeaders = []; if (opts != null) { var variables:URLVariables = new URLVariables(); for (var propName:String in opts) { variables[propName] = opts[propName]; } req.data = variables; } if (callback != null) { loader.addEventListener('complete', function(e:Event):void { callback(e.target.data); }); } loader.load(req); :
しかし!!!!
localhost ではちゃんと動いていたのに・・・・。サーバに置いた途端動かなくなっちゃった!!!
んー?と思って ngrep してみたら
HTTP/1.1 401 Unauthorized. : (略) : Sorry, due to abusive behaviour, we have been forced to disable posting from external websites. If you are posting from an API tool, please ensure that the HTTP_REFERER header is not set.
えええええええ!
じゃあ、Referer 消せばいいんだな。これを追加してっと。
req.requestHeaders = [ new URLRequestHeader('Referer', '') ];
しかし!!!
ArgumentError: Error #2096: The HTTP request header Referer cannot be set via ActionScript. at flash.net::URLStream/load() at flash.net::URLLoader/load() : :
えええええええええええええええええええええええ!!
Twitter が AS3 のライブラリとか出してるから、てっきりできると思ったのにー><
できないなら、もっと早くいってよおおおおおおおおおおおお!!
まじで。俺の深夜の貴重な時間を返せええええええ
はあ。
和製 Twitter 「DooViiChat」 登場!
日本製の Twitter クローンが出来たようですね。
まだ β なので
ヘルプがない、デザインがあまり作りこまれていないなどありますが、面白い試みだと思います。
SNS のようにこういうチャットコミュニティがこれから少し流行るのではないでしょうか。
僕のアカウントは
http://chat.doovii.com/amachang です。もしやってる人がいたら登録お願いしますー^^
Twitter モバイルアップデータを作った
すでに「こんにちはこんにちは!!」されちゃって勢いづく Twitter ですが
http://b.hatena.ne.jp/entry/http%3A//hamachiya.com/junk/twitter.html
ぜひぜひケータイから更新したい!
したいよー!
ということで、 Twitter モバイルアップデータを作ったよ!
http://usrb.in/tw/create.html
かなり適当に作った。しかも cgi なのでちょっと重い
でも、普通に便利だよ!!><
一応
自分用に作ったものなのでノークレームでお願いしまつ
twitter.com 始めました
URL は
使ってる人いたら、登録してください><!
よろしくお願いしますー。