DSi からツイッターにアクセスする方法を考察

忘備録的なメモです。

結論から言うと、XMLHttpRequest ではドメイン間を超えたアクセスができないので、プロキシを用意するしかない、らしい。

TwitterクライアントのOAuth対応(Javascript編) | tomatomax.net
http://blog.tomatomax.net/archives/2696

20101217_01.jpg

TwitAPI.js – OTCHY.NET
http://www.otchy.net/javascript/twit-api/

20101217_02.jpg

これを参照すると、

  • 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 あたりで処理をすれば、クライアントの作りも楽になるかと。

 

 

 

カテゴリー: 子供ツイッター パーマリンク