- 締切済み
WebAPIのマッシュアップ方法について[Webサービスの作り方]
マッシュアップというものをやりたいと思っています。 例えばAPIはYahooデベロッパー http://developer.yahoo.co.jp/search/webunit/V1/webunitSearch.html のものを使うとして、 リクエストURL http://api.search.yahoo.co.jp/AssistSearchService/V1/webunitSearch にリクエストパラメータを付加すると(サンプルコードです) http://api.search.yahoo.co.jp/AssistSearchService/V1/webunitSearch? appid=YahooDemo&query=%e6%b2%96%e7%b8%84&results=2 とするとこうなるということですが、 質問(1)まずquery=%e6%b2%96%e7%b8%84 という検索クエリーというものがよく分かりません。どう決めればよいのでしょうか? 質問(2)データベースについての知識はないのですが、もし必要ならどのような知識がどんなところに必要でしょうか?(例で示して下さると助かります) 質問(3)そして、このアドレスにアクセスするとXML形式で結果が返ってきますよね。これをどう使っていくのかいまいちよく分かりません。解説サイトを探してみたりもしましたが、抽象的で過程を省いているものが多く (1:○○する、2:○○する・・・と細かく説明されていればいいのですが・・)質問するに至りました。 関係ありそうな技術の現時点での到達度を書いておきます。 PHP、Perlなど:一から javascript:少しかじりました html:一通りはできます xml:一から HTTP関係:GET命令などで必要な情報をサーバからクライアントに持ってくるなどの簡単な知識。実際のやり方は一から 足りない部分は必要に応じて覚えていきたいと思っています、まずは簡単なものを一つ作りながら・・・と。どうぞよろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- taketan_mydns_jp
- ベストアンサー率58% (450/773)
こんにちは。 APIを使う時はその仕様に合わせて自分でプログラミングします。 質問(1) 検索クエリとは、検索したい用語(文字列)の事です。例えばgooを検索する場合は、query=gooです。英語の場合はこれで良いのですが、日本語の場合は文字コード(SJISやEUC-JP、UTF-8等)が何種類かあるのでそれを限定する事で文字化けが避けられます。仕様のところに(UTF-8エンコードされた)と書いてありますので、UTF-8でこの文字を送信する必要があります。日本語の『沖縄』と言う文字をUTF-8でエンコードすれば%e6%b2%96%e7%b8%84というへんてこな文字になります。 質問(2) データベースに関する知識は通常は必要ありません。 APIでもらってきたデータを独自にデータベースに保存してから検索する、と言うような使い方は出来ますが、そもそもAPIというのは既存のデータベースをAPIという決まり事を使って利用出来るようにするしくみですので、必要としないです。 質問(3) Yahooではほとんどの場合XMLで回答が返ってきますが、他のAPIでは別の形式を指定する事も出来ます。 XMLで返ってきた物の中からあなたが必要とすべき情報を取り出し、さらに別のAPIヘリクエストする、と言うような使いかたをするわけです。 今回の場合、沖縄、というキーワードで検索した場合に、関連キーワードとして沖縄 ホテル、沖縄 観光、という新しいキーワードが出てきたわけです。この情報をもとにどのように使っても構いません。 > これをどう使っていくのかいまいちよく分かりません。 あなたが決める事です。例えば、gooの急上昇キーワードのRSSを取得し、そのキーワードの関連キーワードを探す、と言う時にこのようなAPIが利用出来ます。
補足
回答ありがとうございます! 質問(1)なるほど、決められた文字コードに直したために呪文のような文字列になっていたのですね。解決です! 質問(2)使おうと思えば使えるけれど、必須ではないのですね。解決です! 質問(3)すみません。質問の仕方が曖昧でした、例えばtaketan_mydns_jpさんが挙げて下さった例:gooの急上昇キーワードのRSSを取得し、そのキーワードの関連キーワードを探す。といったことをする場合に実際に何を準備し、何を行えばいいのか、という点が疑問となっていました。その詳細について教えていただけたら幸いです