Feed Force Google AJAX Search APIのお勉強 2006/07/07 FFLab 技術勉強会 Google AJAX Search API http://code.google.com/apis/ajaxsearch/ Feed Force • サイトにGoogle検索JS • APIキーはGmapと同じ • バージョン 0.1 (2006/07/07現在) • 1.0になったら検索連動 広告が入るよ • 1.0になったらコードは 変わるよ なにができるの? • • • • Web Search - GwebSearch() Local Search - GlocalSearch() Video Search - GvideoSearch() Blog Search - GblogSearch() Feed Force – Coming Soon • Image Search - GimageSearch() どうやって使うの? • ウェブ検索サンプル Feed Force Window.onload = function() { // seach control 生成 var sc = new GSearchControl(); サンプル // searcher 追加 sc.addSearcher(new GwebSearch()); // search control 描画 sc.draw(document.getElementById(“search-control”)); // 検索実行 sc.execute(“ルート・コミュニケーションズ”); } CSS重要 • スタイルシートをあてないとこうなる Feed Force • スタイル自由なのでサイトにあわせてスタイ ルシートを適用できる 要素はGoogleのスタイルシート参照 http://www.google.com/uds/css/gsearch.css (使っていいか分からんけど使ってます。) ウェブ検索以外は? • addSearcherに放り込む Feed Force Window.onload = function() { // seach control 生成 var sc = new GSearchControl(); サンプル // searcher 追加 sc.addSearcher(new GwebSearch()); sc.addSearcher(new GlocalSearch()); sc.addSearcher(new GblogSearch()); sc.addSearcher(new GvideoSearch()); // search control 描画 sc.draw(document.getElementById(“search-control”)); // 検索実行 sc.execute(“ルート・コミュニケーションズ”); } タブにできるよ • GdrawOption Feed Force – DRAW_MODE_TABBED – DRAW_MODE_LINEAR // draw options var opt = new GdrawOptions(); サンプル // 描画モードの指定 opt.setDrawMode(GSearchControl.DRAW_MODE_TABBED); // オプションつけて描画 sc.draw(document.getElementById(“search-control”), opt); 検索結果を任意の場所に • setRoot(element) Feed Force // searcher options var opt = new GsearcherOptions(); サンプル // id=“web-search” をセット opt.setRoot(document.getElementById(“web-search”)); // ウェブ検索はweb-searchの場所に表示 sc.addSearcher(new GwebSearchControl(), opt); // ブログ検索はデフォルト位置に sc.addSearcher(new GblogSearchControl); True Potentialはこれらしい • setOnKeepCallback Feed Force // establish a keep callback サンプル sc.setOnKeepCallback(this, function(result) { // 要素取得 var titles = document.getElementById(“result-title”); // pタグ生成 var p = document.createElement(“p”); // 検索結果のタイトルをappend p.appendChild( document.createTextNode(result.titleNoFormatting) ); // pタグをappend titles.appendChild(p); }); ラベルを変えられます • サイト内検索などで重宝するよ Feed Force // create a web search var ws = new GwebSearch(); // サイト内検索設定 ws.setSiteRestriction(“item.rakuten.co.jp”); // ラベル ws.setUserDefinedLabel(“楽天商品検索”); // add searcher sc.addSearcher(ws); サンプル まだv0.1なので・・・ • バグあり Feed Force – 英語以外のローカル検索に不具合 • Googleの検索だけどGoogleの検索結果と一 致してません • undocumentedな機能 – Developer Forum http://groups-beta.google.com/group/Google-AJAX-Search-API 参考ドキュメント Google AJAX Search API Documentation http://code.google.com/apis/ajaxsearch/documentation/
© Copyright 2024 ExpyDoc