アーカイブ( 2009年08月)





(2009/08/19)[遊楽生活記]
【序破Q】

今日、マックでダブルチーズバーガーのチーズ抜きをオーダーした勇者に出会いました。

そんな前置きはどうでもいいのですが、未踏で開発したソフトウェアにTwitterへ投稿する機能を追加したので、備忘録として技術メモでも残しておきます。


▼Twitterで自分のステータスを更新するAPI

URL: http://twitter.com/statuses/update.format
(format は xml か json を指定)

引数:
・status=投稿内容(必須)
・in_reply_to_status_id=返信(reply)対象のステータスID (オプション)
・source=クライアント名 (オプション)

※メソッド:POST、API制限:適用対象外


このステータス更新APIを以下の方法でJavaScriptだけで実装(サーバサイド不要、クロスドメイン通信)しました。
・メソッドがPOSTなので、JSONPはGETメソッドしか投げられないためNG!
・POSTするには、非表示のiframeを用意してformのtargetをそのiframeにしてsubmitすればOK
・但し、文字コードがUTF-8以外は文字化けを起こしてしまう
・form の属性 Accept-charset を指定すればOKだが、IEは非対応
・IEの場合はsubmitの前に文字コードを以下のように無理矢理変更する事で対応
var hogehoge=document.charset;
document.charset='UTF-8'
submit();
document.charset=hogehoge;