Sunteți pe pagina 1din 22

Gua del desarrollador Nota: El Google Web API de bsqueda ha sido oficialmente obsoleto al 1 de noviembre de 2010.

Se continuar trabajando de acuerdo con nuestra poltica de desprecio, pero el nmero de peticiones que usted puede hacer por da ser limitado. Por lo tanto, le recomendamos que para pasar a la API de bsqueda personalizada nueva. Tabla de contenidos Audiencia Introduccin El Hello World de Google Web Search API Uso de la API de Google cargador Compatibilidad del navegador API Actualizaciones Ejemplos Los fundamentos Modos SearchControl Buscador Objetos Buscador Opciones Mantener un resultado de bsqueda Configuracin de Restricciones del sitio Callbacks bsqueda Control Formulario de bsqueda personalizada Branding avanzada Ejemplos Avanzados Descripcin general de API Styling Resultados de la bsqueda Flash y otros entornos que no sean de Javascript Fragmentos de cdigo Referencia de las clases Solucin de problemas Audiencia Esta documentacin est diseado para las personas familiarizadas con la programacin de Javascript y conceptos orientados a objetos de programacin. Hay muchos tutoriales de JavaScript disponibles en la Web Introduccin El "Hello, World" de Google Web Search API

La forma ms fcil de comenzar a aprender acerca de esta API es ver un ejemplo sencillo. La siguiente pgina web muestra una coleccin de resultados de bsqueda en lnea para un "GTI VW". Los resultados de bsqueda incluyen Local, Web, Videos, Blogs, noticias, informacin, imagen, de Patentes, y los resultados de la Bsqueda de libros. <DOCTYPE html PUBLIC "- / / W3C / / DTD XHTML 1.0 Strict / / EN" "Http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <title> Hola Mundo - Google Web Search ejemplo de la API </ title> <Script src = "https://www.google.com/jsapi" type = "text / javascript"> </ script> <script type="text/javascript"> language="Javascript" / / <! google.load ('search', '1 '); OnLoad function () { / / Crear un control de bsqueda var SearchControl google.search.SearchControl = new (); / / Aadir en un conjunto de buscadores var = new LocalSearch google.search.LocalSearch (); searchControl.addSearcher (LocalSearch); searchControl.addSearcher (nuevo google.search.WebSearch ()); searchControl.addSearcher (nuevo google.search.VideoSearch ()); searchControl.addSearcher (nuevo google.search.BlogSearch ()); searchControl.addSearcher (nuevo google.search.NewsSearch ()); searchControl.addSearcher (nuevo google.search.ImageSearch ()); searchControl.addSearcher (nuevo google.search.BookSearch ()); searchControl.addSearcher (nuevo google.search.PatentSearch ()); / / Establecer el punto central Bsqueda Local localSearch.setCenterPoint ("New York, NY"); / / Indicar al buscador dibujarse a s mismo y decirle dnde va a colocar searchControl.draw (document.getElementById ("SearchControl")); / / Ejecutar una bsqueda inital searchControl.execute ("VW GTI"); } google.setOnLoadCallback (OnLoad); / /]]>

</ Script> </ Head> <body> <div id="searchcontrol"> Cargando </ div> </ Body> </ Html> Para utilizar la API de bsqueda Web dentro de su sitio web, usted tendr que incluir la direccin del cargador de Google APIs (https://www.google.com/jsapi). Esta biblioteca le permite cargar varias API a travs de google.load ('api', 'version'). Usted puede aprender ms aqu. Siempre asegrese de incluir esta biblioteca dentro de una etiqueta <script> antes de intentar utilizar la funcionalidad de bsqueda de control. El objeto principal utilizado por el Google Web API de bsqueda es una instancia de SearchControl, que coordina una bsqueda a travs de un conjunto de servicios de bsqueda, denotada como hijos de ese objeto. Como se puede ver en el ejemplo anterior, los objetos secundarios de LocalSearch tipo, WebSearch, VideoSearch, Blogsearch, NewsSearch, ImageSearch, PatentSearch y BookSearch (experimental) se aaden al control de bsqueda usando el addSearcher () mtodo, y estos objetos buscador determinar qu servicios de bsqueda en el control de bsqueda funciona de nuevo. El control de bsqueda se despliega dentro de la pgina web a travs de una llamada al mtodo SearchControl draw (), este mtodo tambin se une el control de bsqueda en su pgina (dentro de la DOM). De forma predeterminada, un control de bsqueda se basa en un "lineal" de diseo, tambin se puede indicar al control de dibujar en una "pestaa" de diseo. Estos modos de dibujo se ver ms adelante. Adems de las opciones de diseo con fichas, el control de bsqueda le permite separar fcilmente el "buscador" en el conjunto de resultados de bsqueda. Un uso de esto es tener un formulario de bsqueda en la barra lateral de la pgina con los resultados apiladas en el centro de la pgina. Un usuario inicia una bsqueda introduciendo trminos de bsqueda en el campo de texto del control de bsqueda y pulsando la tecla ENTER o haciendo clic en el botn de bsqueda a la derecha del campo de entrada. El control de bsqueda se iniciar automticamente una bsqueda en paralelo a travs de los solicitados servicios de Google. Tambin puede iniciar una bsqueda mediante programacin llamando a la bsqueda de control mtodo execute (), pasando un argumento de los trminos de bsqueda. Uso de la API de Google cargador El Google Web API de bsqueda ahora se integra completamente con el cargador de Google API. El Google cargador de API especifica un esquema de espacio de nombres comunes, para que sea ms fcil de usar la API de Google diferente juntos. Tenga en cuenta que el esquema

de espacio de nombres antigua continuar con el apoyo, por lo que las aplicaciones existentes no tienen que ser actualizado. Uso de la API de Google cargador es relativamente simple. Cambio de la aplicacin para utilizar el cargador incluye los siguientes pasos: En lugar de cargar la API de bsqueda Web desde http://www.google.com/uds, cargue el cargador comn de https://www.google.com/jsapi. <script type="text/javascript" src="https://www.google.com/jsapi"> </ script> Cargar la API de bsqueda Web mediante el mtodo google.load como se muestra a continuacin. El mtodo google.load toma un argumento para la API especfica y el nmero de versin a cargar: <script type="text/javascript"> google.load ("search", "1"); </ Script> Utilice el google.search. * Espacio de nombres para todas las clases, mtodos y propiedades que se utilizan actualmente en la bsqueda web de Google API, sustituyendo el prefijo G con este espacio de nombres. Por ejemplo, el objeto GSearchControl se asigna a google.search.SearchControl cuando se utiliza el cargador de API Google: <html> <head> <Script src = "https://www.google.com/jsapi" type = "text / javascript"> </ script> <script type="text/javascript"> google.load ("search", "1"); / / Llamar a esta funcin cuando la pgina se ha cargado function initialize () { var SearchControl google.search.SearchControl = new (); searchControl.addSearcher (nuevo google.search.WebSearch ()); searchControl.addSearcher (nuevo google.search.NewsSearch ()); searchControl.draw (document.getElementById ("SearchControl")); } google.setOnLoadCallback (initialize); </ Script> </ Head> <body> <div id="searchcontrol"> </ div> </ Body>

</ Html> Utilice google.setOnLoadCallback para registrar la funcin de controlador especfico que se llamar una vez que el documento se carga en vez de GSearch.setOnLoadCallback. En la Red Bsqueda API tiene algunas opciones de configuracin opcionales cargador. La carga dinmica - consulte la documentacin de carga dinmica. No cargue CSS - si usted no desea cargar el CSS por defecto a continuacin, establezca "nocss" a true. google.load ("search", "1", {"nocss": true}); No cargue espacio de nombres de edad - si usted no desea que el espacio de nombres de edad (GSearch, GSearchControl, etc ..) a continuacin, establezca "nooldnames" a true. google.load ("search", "1", {"nooldnames": true}); Nota: La mayora de las muestras siguen utilizando el viejo espacio de nombres para que no funcione con este ajuste. Esto es slo para aplicaciones personalizadas que no quieren que su espacio de nombres a estar atestado de Google Web Search API. Especficos del idioma de interfaz de usuario - si desea especificar el idioma de los componentes de interfaz de usuario (SearchControl, branding, etc ..) en lugar de tener que auto-detecta a continuacin, "lenguaje" para el cdigo de idioma especfico, tales como: en, es, zh -CN, pt-PT, y etc .. google.load ("search", "1", {"language": "es"}); La documentacin completa para el uso de la API de Google cargador est disponible en la documentacin del cargador. Compatibilidad del navegador El Google Web Search API actualmente soporta Firefox 1.5 +, Internet Explorer 6, Safari, Opera 9 +, y Chrome. API Actualizaciones El segundo argumento en el google.load ('search', '1 .0 '); contiene el nivel esperado de esta versin de la API (en este caso la versin "1.0"). Cuando hacemos una importante actualizacin de la API, vamos a "hasta" el nmero de versin y publicar un aviso en el grupo de discusin Buscar en la Web API. Tome nota de los cambios de cdigo requeridos cuando esto ocurre, y actualizar sus URL a la nueva versin cuando cumplen. Despus de una nueva versin del programa, Google compatible con las versiones antiguas y nuevas al mismo tiempo durante un perodo de tiempo, prev que sea de varios meses. Despus de este perodo expira, solicitudes de los clientes que utilizan la API de edad ya no ser aceptado, por lo que cambiar el cdigo tan pronto como usted note una nueva versin.

El equipo de Google Web Search API tambin se actualizar peridicamente a la API con recientes correcciones de errores y mejoras de rendimiento sin necesidad de una actualizacin de versin. En su mayor parte, estas soluciones deben seguir siendo transparente para el usuario, pero sin darse cuenta puede acabar con algunos clientes de API. Por favor, utilice el Buscar en la Web API grupo de debate para informar tales cuestiones. Ejemplos Nota: cada uno de los ejemplos siguientes se muestra slo relevante cdigo Javascript, no un archivo HTML completo. Puede enchufar el cdigo en el archivo HTML esqueleto se mostr anteriormente, o puede descargar el archivo HTML completo para cada ejemplo haciendo clic en el enlace despus del ejemplo. Los fundamentos El siguiente ejemplo (idntico al cdigo Javascript en el cdigo anterior muestra Mundial de Hola) crea un control de bsqueda, lo configura para buscar a travs de la bsqueda local, bsqueda Web, Video Search, Blog Search, Bsqueda de Noticias, Bsqueda de imgenes, Bsqueda y Bsqueda de libros Patant (experimental), y luego pone el control en la pgina. / / Crear un control de bsqueda var = new SearchControl google.search.SearchControl (null); / / Agregar en un conjunto completo de buscadores searchControl.addSearcher (nuevo google.search.LocalSearch ()); searchControl.addSearcher (nuevo google.search.WebSearch ()); searchControl.addSearcher (nuevo google.search.VideoSearch ()); searchControl.addSearcher (nuevo google.search.BlogSearch ()); searchControl.addSearcher (nuevo google.search.NewsSearch ()); searchControl.addSearcher (nuevo google.search.ImageSearch ()); searchControl.addSearcher (nuevo google.search.BookSearch ()); searchControl.addSearcher (nuevo google.search.PatentSearch ()); / / Indicar al buscador dibujarse a s mismo y decirle dnde va a colocar / / Tenga en cuenta que debe existir un elemento dentro del documento HTML con id "search_control" searchControl.draw (document.getElementById ("search_control")); SearcherControl Draw Modos El control de bsqueda puede ser programado para mostrar en modos de dibujo diferentes. El objeto google.search.DrawOptions controla este comportamiento a travs de su mtodo setDrawMode (). Este mtodo tiene los siguientes argumentos: google.search.SearchControl.DRAW_MODE_LINEAR google.search.SearchControl.DRAW_MODE_TABBED Para establecer realmente el modo de dibujo de un objeto de control de bsqueda, pase un

objeto google.search.DrawOptions como parmetro para el mtodo de control de bsqueda de draw (). / / Crear un objeto drawOptions drawOptions var = google.search.DrawOptions nuevo (); / / Indicar al buscador que se dibuje en modo lineal drawOptions.setDrawMode (google.search.SearchControl.DRAW_MODE_LINEAR); searchControl.draw (elemento, drawOptions); / / Indicar al buscador que se dibuje en el modo de pestaas drawOptions.setDrawMode (google.search.SearchControl.DRAW_MODE_TABBED); searchControl.draw (elemento, drawOptions); Otra opcin comn disponible a travs de este mtodo es la posibilidad de desacoplar el "buscador" desde el conjunto de resultados de bsqueda. El objeto google.search.DrawOptions controla este comportamiento a travs de su mtodo setSearchFormRoot (). Este mtodo acepta un elemento DOM que actuar como contenedor para el buscador. / / Crear un objeto drawOptions drawOptions var = google.search.DrawOptions nuevo (); drawOptions.setSearchFormRoot (document.getElementById ("searchForm")); searchControl.draw (elemento, drawOptions); Buscador Objetos El mtodo addSearcher () del objeto de control de bsqueda determina qu servicios de bsqueda en el control de bsqueda opera. Este mtodo toma dos argumentos, uno que especifica el objeto de servicio, y un segundo argumento especificando opciones para el servicio. Los objetos siguientes buscador (servicios) estn soportadas actualmente: google.search.LocalSearch google.search.WebSearch google.search.VideoSearch google.search.BlogSearch google.search.NewsSearch google.search.ImageSearch google.search.BookSearch (experimental) google.search.PatentSearch Dado que el Google Web API de bsqueda es un trabajo en progreso, la lista de servicios soportados evolucionar con el tiempo. google.search.SearcherOptions

Al aadir buscadores individuales para el control de bsqueda, un segundo parmetro opcional, el objeto google.search.SearcherOptions, controla el modo por defecto de cada servicio expansin, lo que afecta los resultados de la bsqueda se muestran en lugar de que el servicio en la pgina web. El modo de expansin puede ser uno de los siguientes: google.search.SearchControl.EXPAND_MODE_OPEN Los resultados se muestran en forma ms completa posible dentro del objeto. google.search.SearchControl.EXPAND_MODE_CLOSED Los resultados se oculta a la vista, a menos que se abri a travs del uso de un elemento de interfaz de usuario (por ejemplo, una flecha). google.search.SearchControl.EXPAND_MODE_PARTIAL Los resultados se muestran como un subconjunto de la modalidad "abierta" de expansin. / / Crear un objeto buscador opciones / / Configurar para el modo de expansin abierto / / Cargar un buscador con las siguientes opciones Opciones var = google.search.SearcherOptions nuevo (); options.setExpandMode (google.search.SearchControl.EXPAND_MODE_OPEN); searchControl.addSearcher (nuevo google.search.WebSearch (), opciones); Control Mode Expansion El siguiente ejemplo demuestra el uso de un control de bsqueda en la que cada buscador est funcionando en un modo de expansin diferente. Tenga en cuenta que si el buscador se est elaborando en el modo de pestaas, modo de expansin se ignora. En ese caso, el buscador siempre funciona en modo abierto. / / Bsqueda local, parcial options = google.search.SearcherOptions nuevo (); options.setExpandMode (google.search.SearchControl.EXPAND_MODE_PARTIAL); searchControl.addSearcher (nuevo google.search.LocalSearch (), opciones); / / Bsqueda de la web, abierto options = google.search.SearcherOptions nuevo (); options.setExpandMode (google.search.SearchControl.EXPAND_MODE_OPEN); searchControl.addSearcher (nuevo google.search.WebSearch (), opciones); Controlar Buscador Ubicacin resultados En algunas aplicaciones, es deseable para proyectar los resultados de bsqueda para un servicio dado en una ubicacin arbitraria en la pgina web. Este modo de operacin es compatible con el mtodo setRoot () de un objeto al servicio de buscador correspondiente. / / Bsqueda en la web, la raz abierta, alternas Opciones var = google.search.SearcherOptions nuevo ();

options.setExpandMode (google.search.SearchControl.EXPAND_MODE_OPEN); options.setRoot (document.getElementById ("somewhere_else")); searchControl.addSearcher (nuevo google.search.WebSearch (), opciones); Mantener un resultado de bsqueda Las muestras hasta ahora se han centrado en integrar los resultados de bsqueda en su pgina slo para visualizacin, sin la capacidad de almacenar los resultados en otra aplicacin. Si bien este es un uso perfectamente apropiada de la Bsqueda web de Google API, no demuestra su verdadero potencial. El Google Web Search API est diseado para permitir a los usuarios distribuir los resultados de bsqueda a los dems, sobre todo a travs de aplicaciones de creacin de contenidos como blogs, foros, etc El objeto google.search.SearchControl proporciona esta funcionalidad a travs de su mtodo setOnKeepCallback (). Con este mtodo, las aplicaciones especificar un objeto y un mtodo que se llama cuando un usuario indica el deseo de salvar a un resultado de bsqueda, haga clic en la opcin "Copiar" debajo del resultado. Este enlace se proporciona nicamente si las aplicaciones han llamado setOnKeepCallback () mtodo. Cuando un usuario hace clic en el vnculo, la devolucin de llamada registrada recibe una instancia GResult que representa el resultado de la bsqueda. Este objeto de resultados de bsqueda contiene un nmero de propiedades buscador especficos, as como una propiedad uniforme html que contiene un elemento HTML que representa el resultado de la bsqueda. La forma ms sencilla de gestionar la devolucin de llamada es clonar el nodo html y adjuntarlo a un nodo DOM de la aplicacin. / / Establecer una fortaleza de devolucin de llamada searchControl.setOnKeepCallback (esto, MyKeepHandler); MyKeepHandler funcin (resultado) { / / Clonar el nodo de resultado html var node = result.html.cloneNode (true); / / Adjuntar savedResults var = document.getElementById ("saved_results"); savedResults.appendChild (nodo); } Configuracin de Restricciones del sitio En algunas situaciones, es posible que desee restringir una bsqueda en Internet, bsqueda de noticias, o busque blog a un sitio especfico o blog. Al aplicar restricciones de este tipo, lo ms habitual es tambin desea establecer su propia etiqueta personalizada en la seccin asociada de resultados de bsqueda, y es posible que desee estilo esta seccin de resultados de manera diferente.

Todas estas capacidades estn soportados mediante el uso de una combinacin de los mtodos expuestos por las opciones de buscador. El ejemplo siguiente muestra el uso de. SetUserDefinedLabel (),. SetUserDefinedClassSuffix (), y. SetSiteRestriction (). El ejemplo crea un control de bsqueda en una instancia de google.search.WebSearch es un sitio restringido para devolver slo los resultados de amazon.com, utiliza "Amazon.com" como etiqueta de seccin de bsqueda, y se aplica una cierta cantidad de costumbre estilo css para esta seccin (ttulo en negrita, el botn naranja portero, etc.) Una seccin similar que muestra las restricciones de sitio en un google.search.BlogSearch y en google.search.NewsSearch tambin est demostrada. <style type="text/css"> / * Checkbox para personalizar-SiteSearch seccin y * Establecer ttulo de la seccin y conservar la etiqueta en negrita */ . GSC-resultsRoot-SiteSearch. SGC-keeper { background-image: url ('/ / css / orange_check.gif....'); font-weight: bold; } .. GSC-resultsRoot SiteSearch-SGC-title {font-weight: bold;} ... / Search / sitio web restringido con etiqueta personalizada / / Y el sufijo de clase var = new SiteSearch google.search.WebSearch (); siteSearch.setUserDefinedLabel ("Amazon.com"); siteSearch.setUserDefinedClassSuffix ("sitesearch"); siteSearch.setSiteRestriction ("amazon.com"); searchControl.addSearcher (SiteSearch); / Search / sitio web restringido usando un motor de bsqueda personalizado SiteSearch = new google.search.WebSearch (); siteSearch.setUserDefinedLabel ("Opiniones"); siteSearch.setSiteRestriction ("000455696194071821846: Comentarios"); searchControl.addSearcher (SiteSearch);

Callbacks bsqueda Control En algunas situaciones, usted desea utilizar el control de bsqueda, ya que proporciona toda la interfaz de usuario que usted necesita, pero usted tiene una necesidad de ver y procesar parcialmente los resultados de bsqueda a medida que llegan. En lugar de recurrir a la capa google.search.Search donde usted tiene esta capacidad, pero son los responsables de la interfaz de usuario, el control de bsqueda expone un par de devoluciones de llamada. Usted puede utilizar estas para solicitar una notificacin antes de una bsqueda se ejecuta y finaliza

despus de una bsqueda. Tenga en cuenta, no se puede contar con un determinado ejecutar dando como resultado una conclusin. La finalizacin no puede ocurrir, por lo que no te cdigo en un callejn sin salida. Un ejemplo tpico de esto ocurre cuando es posible que desee graficar resultados de bsqueda locales en un mapa ms cercano. El fragmento de cdigo siguiente muestra el uso de esta capacidad. searchControl.setSearchCompleteCallback (esto, App.prototype.OnSearchComplete); searchControl.setSearchStartingCallback (esta App.prototype.OnSearchStarting,);

App.prototype.OnSearchComplete = function (sc, buscador) { / / Si tenemos resultados de bsqueda locales, los puso en el mapa if (searcher.results searcher.results.length &&> 0) { for (var i = 0; i <searcher.results.length, i + +) { var resultado = searcher.results ["i]; / / Si se trata de un resultado de bsqueda local ya continuacin ... si (== result.GsearchResultClass GlocalSearch.RESULT_CLASS) { ... App.prototype.OnSearchStarting = function (sc, buscador, query) { alert ("La consulta es:" query +); ...

El siguiente ejemplo es una demostracin ms completa de estas API. Muestra cmo utilizar estas dos devoluciones de llamada para procesar los resultados de bsqueda locales y colocarlos en un mapa adjunto. Formulario de bsqueda personalizada Cuando se utiliza google.search.SearchControl, la aplicacin puede utilizar el integrado "buscador", que proporciona un elemento de entrada de texto, un botn de bsqueda, y un botn de borrado, as como "Powered by Google" branding. Alternativamente, si su aplicacin es la creacin de un buscador de crudo a travs de google.search.Search, puede crear un formulario de bsqueda independiente utilizando google.search.SearchForm (). Este objeto proporciona la apariencia de la interfaz de usuario de control de bsqueda, pero se empaqueta como un objeto autnomo que permite un control mayor del que tanto el comportamiento como la colocacin. El fragmento de cdigo siguiente muestra cmo utilizar google.search.SearchForm. / / Crear un formulario de bsqueda sin un botn claro

/ / Bind formulario de envo a mi cdigo personalizado var container = document.getElementById ("searchFormContainer"); this.searchForm = new google.search.SearchForm (false, contenedor); this.searchForm.setOnSubmitCallback (esto, App.prototype.newSearch); / / Llamada en forma presentar App.prototype.newSearch = function (forma) { si (form.input.value) { this.searchControl.execute (form.input.value); } return false; }

Branding avanzada Cuando se utiliza el google.search.SearchControl o google.search.SearchForm el, sus usuarios estn naturalmente expuestos a "powered by Google" branding. Ellos son capaces de asociar los servicios de bsqueda que expone su sitio con Google. Cuando su aplicacin no utiliza ninguna de estas formas, es importante comunicar sigue siendo la marca de Google para los usuarios. El mtodo google.search.Search.getBranding () est diseado para ayudarle con esto. Este mtodo acepta un elemento HTML DOM y adjunta el "powered by Google" branding en ese elemento. Como alternativa, un "powered by Google" elemento HTML DOM puede ser devuelto a usted para que pueda conectarlo directamente. El fragmento de cdigo siguiente muestra el uso de esta capacidad. / / Adjuntar "powered by Google" branding google.search.Search.getBranding (document.getElementById ("branding")); ... <div Cargando id="branding"> ... </ div>

Descripcin general de API El Google Web API de bsqueda se compone de varias clases de objetos: google.search.SearchControl - Esta clase proporciona la interfaz de usuario y la coordinacin a travs de una serie de objetos buscador, donde cada objeto est diseado buscador para realizar bsquedas y devolver una clase especfica de los resultados (Buscar en la Web, bsqueda local, etc.) google.search.Search - Esta clase base es la clase de la cual todos los "buscadores" heredar. Define la interfaz que todos los servicios de buscador debe implementar. GResult - Esta clase encapsula base de los resultados de bsqueda producidos por los objetos buscador. google.search.SearcherOptions - Esta clase configura el comportamiento de los objetos

buscador cuando se aade a un control de bsqueda. Este es el patrn esperado de uso para estas clases: / / Crear un objeto de buscador var sc = new google.search.SearchControl (); / / Aadir uno o ms investigadores, especificando las opciones segn sea necesario Opciones var = google.search.SearcherOptions nuevo (); options.setExpandMode (google.search.SearchControl.EXPAND_MODE_OPEN); sc.addSearcher (nuevo google.search.WebSearch (), opciones); ... / / Activar el control de bsqueda llamando es todo. Mtodo draw () sc.draw (document.getElementById ("myDiv")); Una vez realizados todos estos pasos bsicos, el control de bsqueda est activo. Buscadores adicionales no se pueden aadir y opciones de buscador no puede ser modificada una vez un control de bsqueda se dibuja. Si necesita cambiar el comportamiento de su control de bsqueda, debe construir y activar un control nueva bsqueda. Para obtener ms informacin, consulte la referencia de API Web Search clase. Styling Resultados de la bsqueda Cada resultado de bsqueda incluye por defecto. Propiedad html que se construye con un estilo CSS en mente. Como resultado, cada pieza de informacin semntica est encerrado en el formato HTML con un conjunto apropiado de marcadores de clase. Esto le permite utilizar este cdigo HTML en conjunto con sus propias reglas CSS personalizadas que el estilo del HTML para satisfacer sus necesidades. Como se ver en las siguientes secciones, cada resultado de la bsqueda se incluye en un elemento div marcado con una clase de resultados de bsqueda genrica de gs-resultado, as como un ejemplo tipo de resultado clase especfica, gs-webResult, gs-localResult, etc . Esta estructura le permite definir fcilmente genricos reglas CSS que se aplican a todos los resultados, as como el tipo reglas especficas. Adems de esta estructura, cuando el resultado est gestionado por la google.search.SearchControl, cada resultado se incluye en un elemento div marcado con una clase de resultado de bsqueda genrica de control de GSC-resultado, as como un ejemplo tipo de resultado clase especfica, GSC-webResult, GSC-localResult, etc Cada seccin de resultados se ve envuelto en un elemento div marcados con un control genrico de resultados de bsqueda de clase GSC-resultados, as como un ejemplo tipo de resultado clase especfica, GSC-webResult, GSC- localResult, etc El resultado neto de esta estructura es el esqueleto siguiente:

<- Una coleccin de resultados de la bsqueda web en el control de bsqueda -> <div class="gsc-results gsc-webResult"> <- A consecuencia web solo en el control de bsqueda -> <div class="gsc-result gsc-webResult"> <- A consecuencia web nico, la estructura completa se define a continuacin -> <div class="gs-result gs-webResult"> </ div> </ Div> ... </ Div> <- Patrn similar a blog local, etc -> class="gsc-results <div gsc-localResult"> </ div> class="gsc-results <div gsc-blogResult"> </ div>

Para obtener informacin detallada sobre la estructura de cada resultado de bsqueda de CSS, visite el siguiente apartado. Flash y otros entornos que no sean de Javascript Para los desarrolladores de Flash, y los desarrolladores que tienen una necesidad de acceder a la API de bsqueda Web desde otros entornos no-Javascript, la API expone una sencilla interfaz RESTful. En todos los casos, el mtodo admitido es GET y el formato de respuesta es un resultado JSON codificado establecido con los cdigos de estado integrados. Las aplicaciones que utilizan esta interfaz debe cumplir con todos los trminos existentes del servicio. Un rea de prestar especial atencin a se refiere a s mismo correctamente en la identificacin de sus peticiones. Las aplicaciones siempre deben incluir un encabezado HTTP referer vlidos y precisos en sus peticiones. Los desarrolladores tambin se les anima a hacer uso del parmetro userip para suministrar la direccin IP del usuario final en nombre de la cual usted est haciendo la solicitud del API. Si lo hace, le ayudar a distinguir este legtimo del lado del servidor de trnsito del trfico que no procede de un usuario final. La forma ms fcil de comenzar a aprender acerca de esta interfaz es para probarlo ... Usando la lnea de comando curl o wget herramienta, ejecute el comando siguiente: curl-e http://www.my-ajax-site.com \ 'Https://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=Paris% 20Hilton' Este comando realiza una bsqueda en la Web (/ ajax / services / search / web), de Paris Hilton (q =% 20Hilton Pars). La respuesta tiene un tipo de contenido de text / javascript; charset = UTF-8. Se puede ver en la respuesta a continuacin que el responseData es idntica a

los resultados y las propiedades del cursor descritos en la documentacin del objeto Base de bsqueda. {"ResponseData": { "Resultados": [ { "GsearchResultClass": "GwebSearch", "UnescapedUrl": "http://en.wikipedia.org/wiki/Paris_Hilton", "Url": "http://en.wikipedia.org/wiki/Paris_Hilton" "VisibleUrl": "en.wikipedia.org" "CacheUrl": "http://www.google.com/search?q \ u003dcache: TwrPfhd22hYJ: en.wikipedia.org" "Title": "\ u003cb \ u003eParis Hilton \ u003c / b \ u003e - Wikipedia, la enciclopedia libre", "TitleNoFormatting": "Paris Hilton - Wikipedia, la enciclopedia libre", "Contenido": "\ [1 \] En 2006, ella lanz su lbum debut ..." }, { "GsearchResultClass": "GwebSearch", "UnescapedUrl": "http://www.imdb.com/name/nm0385296/", "Url": "http://www.imdb.com/name/nm0385296/" "VisibleUrl": "www.imdb.com", "CacheUrl": "http://www.google.com/search?q \ u003dcache: 1i34KkqnsooJ: www.imdb.com" "Title": "\ u003cb \ u003eParis Hilton \ u003c / b \ u003e", "TitleNoFormatting": "Paris Hilton", "Contenido": "sin asistencia:. Zoolander Socialite \ u003cb \ u003eParis Hilton \ u003c / b \ u003e ..." }, ... ], "Cursor": { "Pginas": [ {"Start": "0", "label": 1}, {"Start": "4", "label": 2}, {"Start": "8", "label": 3}, {"Start": "12", "label": 4} ], "EstimatedResultCount": "59600000", "CurrentPageIndex": 0, "MoreResultsUrl": "http://www.google.com/search?oe \ u003dutf8 \ u0026ie \ u003dutf8 ..." } } , "ResponseDetails": null, "responseStatus": 200}

Adems de este formato de respuesta, el protocolo tambin soporta un clsico JSON-P devolucin de llamada de estilo que se activa mediante la especificacin de un argumento de devolucin de llamada. Cuando este argumento est presente, el objeto json se entrega como un argumento para la devolucin de llamada especificado. curl-e http://www.my-ajax-site.com \

Este comando realiza una bsqueda en la Web, que es idntica a la bsqueda anterior, pero se ha modificado para pasar de devolucin de llamada. Con este argumento en su lugar, en vez de un objeto JSON que se devuelve, una llamada Javascript se devuelve en la respuesta y el objeto JSON se pasa a travs del parmetro resultados. processResults ({"responseData": { "Resultados": [ { "GsearchResultClass": "GwebSearch", "UnescapedUrl": "http://en.wikipedia.org/wiki/Paris_Hilton", "Url": "http://en.wikipedia.org/wiki/Paris_Hilton" "VisibleUrl": "en.wikipedia.org" "CacheUrl": "http://www.google.com/search?q \ u003dcache: TwrPfhd22hYJ: en.wikipedia.org" "Title": "\ u003cb \ u003eParis Hilton \ u003c / b \ u003e - Wikipedia, la enciclopedia libre", "TitleNoFormatting": "Paris Hilton - Wikipedia, la enciclopedia libre", "Contenido": "\ [1 \] En 2006, ella lanz su lbum debut ..." }, { "GsearchResultClass": "GwebSearch", "UnescapedUrl": "http://www.imdb.com/name/nm0385296/", "Url": "http://www.imdb.com/name/nm0385296/" "VisibleUrl": "www.imdb.com", "CacheUrl": "http://www.google.com/search?q \ u003dcache: 1i34KkqnsooJ: www.imdb.com" "Title": "\ u003cb \ u003eParis Hilton \ u003c / b \ u003e", "TitleNoFormatting": "Paris Hilton", "Contenido": "sin asistencia:. Zoolander Socialite \ u003cb \ u003eParis Hilton \ u003c / b \ u003e ..." }, ... ], "Cursor": { "Pginas": [ {"Start": "0", "label": 1},

{"Start": "4", "label": 2}, {"Start": "8", "label": 3}, {"Start": "12", "label": 4} ], "EstimatedResultCount": "59600000", "CurrentPageIndex": 0, "MoreResultsUrl": "http://www.google.com/search?oe \ u003dutf8 \ u0026ie \ u003dutf8 ..." } } , "ResponseDetails": null, "responseStatus": 200}) Y, por ltimo, el protocolo es compatible con una devolucin de llamada y el argumento de contexto. Cuando estos argumentos url se especifica, la respuesta se codifica como una llamada directa Javascript con una firma de: devolucin de llamada (el contexto, los resultados, el estado, detalles, no utilizados). Tenga en cuenta la ligera diferencia en el siguiente comando y respuesta. curl-e http://www.my-ajax-site.com \

Este comando realiza una bsqueda en la Web, que es idntica a la bsqueda anterior, pero se ha modificado para pasar tanto de devolucin de llamada y el contexto. Con estos argumentos en su lugar, en vez de un objeto JSON que se devuelve, una llamada Javascript se devuelve en la respuesta y el objeto JSON se pasa a travs del parmetro resultados. foo ('bar', { "Resultados": [ { "GsearchResultClass": "GwebSearch", "UnescapedUrl": "http://en.wikipedia.org/wiki/Paris_Hilton", "Url": "http://en.wikipedia.org/wiki/Paris_Hilton" "VisibleUrl": "en.wikipedia.org" "CacheUrl": "http://www.google.com/search?q \ u003dcache: TwrPfhd22hYJ: en.wikipedia.org" "Title": "\ u003cb \ u003eParis Hilton \ u003c / b \ u003e - Wikipedia, la enciclopedia libre", "TitleNoFormatting": "Paris Hilton - Wikipedia, la enciclopedia libre", "Contenido": "En 2006, lanz su lbum debut \ u003cb \ u003eParis \ u003c / b \ u003e ..." }, { "GsearchResultClass": "GwebSearch", "UnescapedUrl": "http://www.imdb.com/name/nm0385296/", "Url": "http://www.imdb.com/name/nm0385296/" "VisibleUrl": "www.imdb.com",

"CacheUrl": "http://www.google.com/search?q \ u003dcache: 1i34KkqnsooJ: www.imdb.com" "Title": "\ u003cb \ u003eParis Hilton \ u003c / b \ u003e", "TitleNoFormatting": "Paris Hilton", "Contenido": "sin asistencia:. Zoolander Socialite \ u003cb \ u003eParis Hilton \ u003c / b \ u003e fue ..." }, ... ], "Cursor": { "Pginas": [ {"Start": "0", "label": 1}, {"Start": "4", "label": 2}, {"Start": "8", "label": 3}, {"Start": "12", "label": 4} ], "EstimatedResultCount": "59600000", "CurrentPageIndex": 0, "MoreResultsUrl": "http://www.google.com/search?oe \ u003dutf8 ..." } } , 200, null) Fragmentos de cdigo En la siguiente seccin se muestran fragmentos de cdigo que muestran acceso a la API de Flash, Java y PHP. Si usted tiene cualquier problema de procesamiento de la respuesta JSON, no deje de visitar el sitio JSON.org y prestar mucha atencin a la segunda mitad de la pgina en varias bibliotecas JSON se hace referencia. Ver este mtodos de mapeo de tabla para URLS base para obtener detalles sobre cmo los diversos servicios de Google API descritas en los apartados anteriores se ponen a disposicin a travs de la API REST. Flash Access El fragmento de cdigo siguiente se muestra cmo realizar una solicitud a la API de bsqueda Web de Flash. Ntese el uso de la biblioteca JSON ActionScript 3.0 Core (AS3). servicio var: = HTTPService HTTPService nuevo (); service.url = 'https://ajax.googleapis.com/ajax/services/search/web'; service.request.v = '1 .0 '; service.request.q = 'Paris Hilton'; 'text' = service.resultFormat; service.addEventListener (ResultEvent.RESULT, onServerResponse); service.send (); onServerResponse private function (event: ResultEvent): void {

try { var json: Object = JSON.decode (event.result as String); / / Ahora pasar un buen rato con los resultados ... } Catch (ignorado: Error) { } } Java Access El fragmento de cdigo siguiente se muestra cmo realizar una solicitud a la API de bsqueda Web Java. Tenga en cuenta el uso de la biblioteca JSON de http://www.json.org/java/ / / La solicitud tambin incluye el parmetro userip que proporciona el extremo Direccin IP / / usuario. Si lo hace, le ayudar a distinguir esta legtima / / Del lado del servidor de trfico del trfico que no procede de un usuario final. Url URL = URL nueva ( "Https://ajax.googleapis.com/ajax/services/search/web?v=1.0 &" + "Q =% 20Hilton Pars y userip = USERS-IP-ADDRESS"); Conexin URLConnection url.openConnection = (); connection.addRequestProperty ("Referer", / * Introduce la URL de tu sitio aqu / *); Lnea String; StringBuilder builder = new StringBuilder (); BufferedReader reader = new BufferedReader (nuevo InputStreamReader (connection.getInputStream ())); while ((line = reader.readLine ())! = null) { builder.append (lnea); } JSONObject json = new JSONObject (builder.toString ()); / / Ahora pasar un buen rato con los resultados ... Php acceso El fragmento de cdigo siguiente se muestra cmo realizar una solicitud a la API de bsqueda Web de php. Tenga en cuenta que este ejemplo se supone PHP 5.2. Para instalaciones ms antiguas de PHP, consulte este comentario. / / La solicitud tambin incluye el parmetro userip que proporciona el extremo Direccin IP / / usuario. Si lo hace, le ayudar a distinguir esta legtima / / Del lado del servidor de trfico del trfico que no procede de un usuario final. $ Url = "https://ajax.googleapis.com/ajax/services/search/web?v=1.0 &" . "Q =% 20Hilton Pars y userip = USERS-IP-ADDRESS";

/ / SendRequest / / Note cmo referer se ajusta manualmente $ Ch = curl_init (); curl_setopt ($ ch, CURLOPT_URL, $ url); curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ ch, CURLOPT_REFERER, / * Introduce la URL de tu sitio aqu / *); $ Cuerpo = curl_exec ($ ch); curl_close ($ ch); / / Ahora, procesar la cadena JSON $ Json = json_decode ($ cuerpo); / / Ahora pasar un buen rato con los resultados ... Python acceso El fragmento de cdigo siguiente se muestra cmo realizar una solicitud a la API de bsqueda Web de Python. Tenga en cuenta que este ejemplo se supone Python 2.4 o superior y es posible que tenga que descargar e instalar simplejson. importacin urllib2 importacin simplejson # La solicitud tambin incluye el parmetro userip que proporciona el extremo # Direccin IP del usuario. Si lo hace, le ayudar a distinguir esta legtima # Del lado del servidor de trfico del trfico que no procede de un usuario final. url = ('https://ajax.googleapis.com/ajax/services/search/web' '? V = q = 1,0 y Pars% 20Hilton y userip = USERS-IP-ADDRESS ") request = urllib2.Request ( url, None, {'referer': / * Introduce la URL de tu sitio aqu * /}) respuesta = urllib2.urlopen (bajo peticin) # Procesar la cadena JSON. results = simplejson.load (respuesta) # Ahora pasar un buen rato con los resultados ... Perl Acceso El fragmento de cdigo siguiente se muestra cmo realizar una solicitud a la API de bsqueda Web de Perl. Tenga en cuenta que esta muestra se basa en la LWP :: UserAgent mdulos y JSON que se puede obtener de CPAN. Tambin puede utilizar el mdulo URI :: Escape. #! / Usr / bin / perl # La solicitud tambin incluye el parmetro userip que proporciona el extremo

# Direccin IP del usuario. Si lo hace, le ayudar a distinguir esta legtima # Del lado del servidor de trfico del trfico que no procede de un usuario final. my $ url = "https://ajax.googleapis.com/ajax/services/search/web?v=1.0 &" . "Q =% 20Hilton Pars y userip = USERS-IP-ADDRESS"; # Cargue los mdulos # Por favor, tenga en cuenta que es necesario que dispongas LWP :: UserAgent y JSON instalado para utilizar este # Se puede llegar tanto desde CPAN. use LWP :: UserAgent; utilizar JSON; # Inicializa el objeto UserAgent y enviar la solicitud. # Tenga en cuenta que referer se ajusta manualmente a una cadena URL. my $ ua = LWP :: UserAgent-> new (); $ Ua-> default_header ("HTTP_REFERER" => / * Introduce la URL de tu sitio aqu * /); mi $ cuerpo = $ ua-> get ($ url); # Procesar la cadena json my $ json = desde_json ($ cuerpo-> decoded_content); # Pasar un buen rato con los resultados my $ i = 0; foreach my $ resultado (@ {$ json-> {responseData} -> {resultado}}) { $ I + +; print $ i. ".". $ Result-> {} titleNoFormatting. "(". $ Result-> {url}. ") \ N"; #, Etc ... } if ($ i) { print "Lo siento, pero no hubo resultados \ n."; } Otras lecturas Para obtener la documentacin completa sobre esta interfaz, consulte el manual de referencia de la clase. Solucin de problemas Si tiene problemas con el cdigo: Busque errores tipogrficos. Recuerde que JavaScript es un lenguaje de maysculas y minsculas. Use un depurador JavaScript. En Firefox, puede utilizar la consola de Firebug JavaScript o el. En Internet Explorer, puede utilizar el depurador de secuencias de comandos de Microsoft. Busca en el Web API grupo de discusin. Si no puede encontrar un puesto que responde a

su pregunta, enve su pregunta al grupo junto con un enlace a una pgina web que muestra el problema.

Windows Enterprise 1)Abrir cmd como administrador 2)tipear: slmgr -skms 114.95.204.227 3)tipear: slmgr.vbs -ato 4)reiniciar

Windows Pro 1)Abrir cmd como administrador 2)tipear: slmgr /ipk KN9W4-W3C7Q-M7Q93-V2QY6-J2KT3 3)tipear: slmgr -skms 114.95.204.227 4)tipear: slmgr.vbs -ato 5)reiniciar

S-ar putea să vă placă și