忘備録的なメモです。
結論から言うと、XMLHttpRequest ではドメイン間を超えたアクセスができないので、プロキシを用意するしかない、らしい。
TwitterクライアントのOAuth対応(Javascript編) | tomatomax.net
http://blog.tomatomax.net/archives/2696
TwitAPI.js – OTCHY.NET
http://www.otchy.net/javascript/twit-api/
これを参照すると、
- tomatomax.net で作っているのは、Windows デスクトップのガジェットなので、Javascript からドメイン間アクセスが可能。
→ ガジェットのほうは、可能なのです… - TwitAPI.js のほうは、プロキシ方式
→ コールバックを使って汎用的なんですが、kidtwi.jp にクライアントを置くことを考えると、ちょっと冗長かなぁ、と。
→ ソースを見ると statuses/update を一度 プロキシに GET で投げて、プロキシが twitter.com に POST しています。
そんな訳で、色々考えた結果。
- Twitter アカウントの作成は、DSi から PHP を使う。
→ あらかじめ、PC から作成しても OK だけど、DSi からの口も必要かなと。 - アプリケーション認証部分は、PHP で作成。
→ 最初の一回だけなので、特別な URL に飛ばせば OK。
→ 認証の秘密キーは、Cookie か サーバーに保存
(実は、この OAuth のキーをサーバーに保存するのが、セキュリティ上、問題だと思うんだがなぁ)。 - プロキシ部分は、単純な PHP で作成。
→ クロスドメインを有効にさせるだけのもの。
こうすると、認証部分をややこしい Javascript で書かなくて済むし、DSi ブラウザから XMLHttpRequest のクロスドメインの問題も解決する、でしょう、多分。
DSi ブラウザからの通知は、XMLHttpRequest を使って送信。戻り値は、json あたりで処理をすれば、クライアントの作りも楽になるかと。