- 2008-03-31 (月) 0:14
- Javascript

*Web拍手でのご質問に返答。はてなスター風GJ!は10以上で中サイズ、100以上で大サイズと拍手数によってアイコンのサイズが変わります。
仕事で『任意の単語に関連のある画像』をWebから引っ張ってきて表示する必要があった。
で、とりあえずということでYahooJapanの画像検索APIを調べる。
JSONが見つからない
んん? YahooJapanのAPIリファレンスをみてみるも、どうもJSONの指定が書いていない。どう見ても、JSONでくださいよ、ってお願いする為のパラメータの記述が見つからない。
本家YAHOOだとWeb検索も画像も動画もJSONをサポートしていたはずなんだけど・・・
書いていないだけで実は実装済みってこともよくあることなので、試しに本家と同じクエリをyahoojapanに投げてみる・・・駄目か。JSONではなくがっつりXMLで帰ってくる。
リクエスト例
ちなみに、yahoo.co.jpを本家yahoo.comに変えてみると
ばっちりJSONP。
ちなみに、
でWeb検索のクエリを投げると、日本Yahooでも結果がJSONで返ってきますよ。YahooJapanのリファレンスには乗ってないけどね!HAHAHAHA・・・・
何故だッ!!
XMLだとJavascriptで使いづらいんだよ!CGIを間にかませなきゃいけなくなってめんどくさいし。
日本だとあんまり需要無いんだろうか・・・JSON便利なのに・・・つか実装しているならせめてWeb検索のほうはリファレンス書いとこうよ・・・
仕方が無いのでYahoo.comを使う。
本家USAでも一応日本語検索は可能だが・・・検索結果がなかなかにとんちんかんで、なんだかすごく残念な感じだ。
Yahoo.comの画像検索サンプル
function searchy() { qer =encodeURI( document.getElementById("word").value);
var yhourl="http://api.search.yahoo.com/ImageSearchService/V1/imageSearch?"; var param ="appid=YahooDemo&output=json&callback=yisshow&adult_ok=0" param += "&query=" + qer;
var objScript = document.createElement("script"); objScript.type = "text/javascript"; objScript.src = yhourl+param; document.lastChild.appendChild(objScript)
}
function yisshow(result)
{
document.getElementById("yis").innerHTML="";
var count = result.ResultSet.Result.length;
for(var i=0; i
“; };
ソース
function searchy()
{
qer =encodeURI( document.getElementById(”word”).value);
var yhourl=”http://api.search.yahoo.com/ImageSearchService/V1/imageSearch?”;
var param =”appid=YahooDemo&output=json&callback=yisshow&adult_ok=0″
param += “&query=” + qer;
var objScript = document.createElement(”script”);
objScript.type = “text/javascript”;
objScript.src = yhourl+param;
document.lastChild.appendChild(objScript)
}
function yisshow(result)
{
document.getElementById(”yis”).innerHTML=”";
var count = result.ResultSet.Result.length;
for(var i=0; i<count; i++)
{
document.getElementById(”yis”).innerHTML += ‘<img src=”‘ + result.ResultSet.Result[i].Url + ‘” width=”100px” height=”100px” / >’;
}
document.getElementById(”yis”).innerHTML += “</div>”;
};</script>
<input id=”word” name=”word” />
<input onclick=”javascript:searchy()” value=”Search!!!” type=”button” />
<div id=”yis”></div>
いっちょ頼むわ、孫ちゃん(!)
![]() |
Googleマップ+Ajaxで自分の地図をつくる本 Google Maps API徹底活用 米田 聡 ソフトバンク クリエイティブ 2005-12-21 |


