2012年3月28日水曜日

xbox liveのゲーマーカードを自作する・復活

以前は様々なサイトで公開されていたカスタムゲーマーカードも,現在ではそのほとんどがサービスを終了してしまっている.これはユーザーの数が増加するにつれて,1ゲームファンが負担できるデータ量を超えてしまったことが原因.サーバー管理料とか通信料だって世界規模になったら馬鹿にならんからね.でもゲーマーカードをカスタマイズするってのは結構需要があると思うんです.以前作成したスクリプトが動かなくなったのはちっとばかし悲しかったのね.

そこで,microsoft本体が提供しているゲーマーカードを利用できないか考えてみた.




 <iframe frameborder="0" height="135" scrolling="No" 
src="http://gamercard.xbox.com/DEFGHI1977.card" 
width="198"></iframe>

このカードは以前から提供されていたものなんだけれど,中身を覗いてみたら昔と全然違うのね.前はなかったモットーとかゲームの進捗度とか,欲しい情報がそっくりそのまま入っているのだ.なんかある日を境に見た目が突然変更されたなぁと思ってはいたんだけれど,まさかHTMLファイルそのものが変更されているなんて気がつかなかったな.

なるほど,野良ゲーマーカードをほっておくのはmicrosoftからすればセキュリティ的に危険なことだから,公開者に何らかの圧力をかけたのかもしれない.その代わりに公式のゲーマーカードに必要最低限度のデータを取り出す為の機能を残してくれた,そんな意図が感じられる.

ここまでたどり着けば後は簡単.以前と同様にこのhtmlファイルをyahoo pipesを通してjson化し,スクリプトでデータを読み込ませてゲーマーカードのHTMLを組み上げれば上手く行くはず.(x)htmlはxmlの親戚なんだし.
なお,その他の環境でもhtmlファイルを解析できる環境であれば,同様にmicrosoftのカードを加工する方針で何とかなるはず.さあ再びカスタムゲーマーカード復活の狼煙を上げよう!


それで出来たのが↓.どうもyahoo pipesを通してjson化した際にclass名称が取り除かれてしまうという不具合に遭遇してしまい,評判の値を取り出せなくなってしまった.ちょっと心残りだけれど仕方なし.サーバーサイドで自由にデータ加工できるならこの問題も解決できるんですがね.


<iframe src="http://www.h2.dion.ne.jp/~defghi/gc/gc.htm?gamertag=defghi1977" scrolling="No" frameborder="0" height="335" width="210"></iframe>
もし,ゲーマーカードをクライアントサイドで作りたい方は勝手にソースコード使ってくれて構いません.そんなに変なことはやってないつもりなので,html+javascript+cssの勉強がてらあなたも作ってみませんか?面倒ならクエリ文字列の部分を自分のゲーマータグに書き換えるだけで動作しますし.何ならyahoo pipesをいじるのも結構面白いものですよ.

0 件のコメント:

コメントを投稿