XML形式のデータは,様々なWebサービス間で,データのやり取りを行う際の基本的なデータ形式として利用されています。Yahoo!のWebサービスとのデータのやり取りを例に,ActionScript3.0でのXMLデータの扱いについて学びましょう。
今回は,取り扱うのが簡単で,Flashムービーからでも利用できる,Yahoo!のWebサービス(Yahooデベロッパーネットワーク)を使います。
図1のムービーは,Flashムービー内で入力した検索ワードを元に,Yahoo!で公開されているWebサービスと連携して画像を表示するものです。表示されたサムネイルはドラッグ&ドロップで移動することができるほか,[選択した画像のページへジャンプ]ボタンを押すと,その画像が含まれるページにジャンプすることができます。
![]() |
図1●Yahoo! Webサービスと連携して画像を検索するFlashムービー [画像のクリックでサンプルページを表示] |
Webサービス側の設定にもよりますが,Flashムービーと検索エンジンを組み合わせるなどの仕組みを使って,いろいろなムービーが作成できそうですね。
Yahoo Webサービスの仕組み
FlashムービーからWebサービスを利用するには,ざっくりと次の3つの仕組みがわかっていれば良いでしょう。
- 使用するWebサービスの仕組み
- ActionScript3.0からWebサービスへリクエストを作成する方法
- ActionScript3.0で名前空間を用いてXMLデータを取得する方法
ひとつめの「使用するWebサービスの仕組み」から見て行きましょう。Yahoo!のWebサービスは,Yahoo!の検索エンジンや,動画等の強力な検索エンジンやデータソースを利用することができます(表1)。
サービス | 概要 |
---|---|
Yahoo!検索 | テキスト検索,画像検索,動画検索など,指定したキーワードを元にした検索結果を受け取れる |
Yahoo!地図情報 | 指定したキーワードに対応した地図データを受け取れる |
Yahoo!ニュース | 指定したカテゴリのニュース情報を受け取れる |
これらのWebサービスは,REST(REpresentational State Transfer)方式で私たちが知りたいキーワードをYahoo!のWebサービスへと渡し,その結果をXML形式のデータで受け取ります(Yahoo!オークションWebサービスは,SOAP形式でリクエストを送る方法も用意されています。)。
「REST方式」とは,どんな方式なのでしょうか。これは,ざっくりと言ってしまうと,「私たちが普段,Yahoo!やGoogleなどの検索エンジンで利用しているのと同じ仕組みで,検索したいキーワードを指定すると,その結果をXMLデータとして返してくれる」方式です(本当にざっくりなので,興味のある方は調べてみてくださいね)。
例えば,「犬」というキーワードで検索する時のことを考えてみましょう。私たちは,Yahoo!で検索する際には,Yahoo!等のページに行き,検索キーワードとして,「犬」と入力しますね(図2)。
![]() |
図2●検索ワードを入力しているところ |
検索ボタンをクリックすると結果が表示されます。このときのURLに注目してください(図3)。
![]() |
図3●検索結果画面に表示されるURL |
URLは,「http://search.yahoo.co.jp/search?p=%e7%8A%AC」のようになっていますね。ここで注目していただきたいのは,「search?p=%e7%8A%AC」の部分です。この個所のさらに「%e7%8A%AC」の部分,これは,「犬」という検索キーワードをURLエンコードした物ですから,「search?p=犬」という意味になります。つまり,「このキーワードで検索しますよ」という情報を,「search?p=検索キーワード」という形で送信しているわけですね。
整理すると,検索エンジンではURLに,
|
![]() |
図4●検索エンジンの処理の流れ |
REST方式も,この方式と同じように,Webサービスを提供しているURLに対して,
|
![]() |
図5●REST形式のWebサービスの処理イメージ |