La búsqueda de imágenes de Google dice que la API ya no está disponible

Estoy usando la API de búsqueda de imágenes de google. Hasta ayer estaba funcionando, pero hoy por la mañana dice “Esta API ya no está disponible”

¿Está oficialmente cerrado, O cualquier error a mi lado

Solicitud

https://ajax.googleapis.com/ajax/services/search/images?v=1.0&rsz=8&q=cute+kittens

Respuesta

{"responseData": null, "responseDetails": "This API is no longer available.", "responseStatus": 403} 

La respuesta que encontré fue el uso de la API del motor de búsqueda personalizado (CSE) de Google. Tenga en cuenta que esto está limitado a 100 solicitudes gratuitas por día.

Creando cx y modificándolo para buscar imágenes

  1. Cree un motor de búsqueda personalizado en https://cse.google.com/cse/create/new según sus criterios de búsqueda.
  2. Elija sitios para buscar (deje esto en blanco si desea buscar en toda la web, de lo contrario, puede ingresar a un sitio para buscar en un sitio en particular)
  3. Ingrese un nombre y un idioma para su motor de búsqueda.
  4. Haga clic en “crear”. Ahora puede encontrar cx en la URL de su navegador.
  5. Debajo de “Modificar su motor de búsqueda”, haga clic en el botón “Panel de control”. En la sección “editar”, encontrará una etiqueta de “Búsqueda de imágenes” con un botón de ENCENDIDO / APAGADO, cámbielo a ENCENDIDO . Haga clic en “actualizar” para guardar sus cambios.

Realizando una búsqueda con la API

La URL del punto final API es https://www.googleapis.com/customsearch/v1

Los siguientes parámetros JSON se usan para esta API:

  • q : especifica el texto de búsqueda
  • num : especifica el número de resultados. Requiere un valor entero entre 1 y 10 (inclusive)
  • start : el “offset” para los resultados, que resulta en que la búsqueda comience en. Requiere un valor entero entre 1 y 101.
  • imgSize : el tamaño de la imagen. Usé "medium"
  • searchType : se debe establecer en "image"
  • filetype : especifica el tipo de archivo para la imagen. Usé `” jpg “, pero puede omitir esto si la extensión del archivo no le importa.
  • key : una clave API, obtenida de https://console.developers.google.com/
  • cx : el ID del motor de búsqueda personalizado de la sección anterior

Simplemente realice una solicitud GET pasando los parámetros anteriores como JSON al punto final API (también mencionado anteriormente).

Nota: Si configura una lista de referencias en la configuración del motor de búsqueda, es probable que visitar la URL a través de su navegador no funcione. Tendrá que hacer una llamada AJAX (o el equivalente de otro idioma) desde un servidor especificado en esta lista. Solo funcionará para las referencias que se especificaron en la configuración.

Referencia: https://developers.google.com/custom-search/json-api/v1/reference/cse/list

Ahora puede buscar imágenes con API de búsqueda de imágenes personalizada.

Puedes hacer esto con dos pasos:

1) Obtenga CUSTOM_SEARCH_ID

Ir a – https://cse.google.ru/cse/all

Aquí debe crear un nuevo motor de búsqueda. Haga esto y habilite la búsqueda de imágenes allí.

Pantalla (soy ruso … lo siento)

habilitación de búsqueda de imágenes

luego obtenga esta ID del motor de búsqueda. Para hacer esto, presione el botón Obtener código:

obtener el botón de código

Y allí encontrará la línea con cx = “aquí estará su CUSTOM_SEARCH_ID”:

obtener ID de CSE

De acuerdo. Ya está hecho, ahora es el segundo paso:

2) Obtener SERVER_KEY

Vaya a la consola de Google – https://console.developers.google.com/project

Consola de Google API

Presione para Crear botón de proyecto, ingrese el nombre y otra información requerida. Elige este proyecto y ve a Habilitar Apis tablero del proyecto Ahora encuentre el motor de búsqueda personalizado.

SE personalizado encontrar Y habilítalos.

Habilitar búsqueda personalizada

Ahora debemos ir a Credenciales y crear una nueva Clave de Servidor:

Crear clave de servidor

De acuerdo. Ahora podemos usar la búsqueda de imágenes.

Consulta:

 https://www.googleapis.com/customsearch/v1?key=SERVER_KEY&cx=CUSTOM_SEARCH_ID&q=flower&searchType=image&fileType=jpg&imgSize=xlarge&alt=json 

Reemplace SERVER_KEY y CUSTOM_SEARCH_ID y llame a esta solicitud.

Límite: de forma gratuita puede buscar solo 100 imágenes por día. Gracias por la atención.

Si esto es solo para sus propios fines (no para producción) y no planea abusar de Google Image Search, simplemente puede extraer la primera imagen URL de los resultados de búsqueda de Google utilizando JSOUP .

Por ejemplo: Código para recuperar la URL de la imagen de la primera miniatura:

 public static String FindImage(String question, String ua) { String finRes = ""; try { String googleUrl = "https://www.google.com/search?tbm=isch&q=" + question.replace(",", ""); Document doc1 = Jsoup.connect(googleUrl).userAgent(ua).timeout(10 * 1000).get(); Element media = doc1.select("[data-src]").first(); String finUrl = media.attr("abs:data-src"); finRes= ""; } catch (Exception e) { System.out.println(e); } return finRes; } 

Guía:

pregunta – término de búsqueda de imágenes

ua – agente de usuario del navegador

Cambiar la URL de la API a la búsqueda de Google Custom Image

Proporcione los mismos parámetros junto con API KEY y CX.

Más información y Explorer

Esta es la plantilla de URL completa que se utilizará

Podemos eliminar parámetros innecesarios.

https://www.googleapis.com/customsearch/v1?q= {searchTerms} & num = {count?} & start = {startIndex?} & lr = {language?} & safe = {safe?} & cx = {cx?} & cref = {cref?} & sort = {sort?} & filter = {filter?} & gl = {gl?} & cr = {cr?} & googlehost = {googleHost?} & c2coff = {disableCnTwTranslation?} & hq = {hq?} & hl = { hl?} & siteSearch = {siteSearch?} & siteSearchFilter = {siteSearchFilter?} & exactTerms = {exactTerms?} & excludeTerms = {excludeTerms?} & linkSite = {linkSite?} & orTerms = {orTerms?} & relatedSite = {relatedSite?} & dateRestrict = {dateRestrict? } & lowRange = {lowRange?} & highRange = {highRange?} & searchType = {searchType} & fileType = {fileType?} & rights = {rights?} & imgSize = {imgSize?} & imgType = {imgType?} & imgColorType = {imgColorType?} & imgDominantColor = {imgDominantColor?} & alt = json

estoy usando

https://www.googleapis.com/customsearch/v1?key=ap_key&cx=cx&q=hello&searchType=image&imgSize=xlarge&alt=json&num=10&start=1

La API de Yahoo Boss es un sustituto razonable, aunque no es gratis y los resultados no son tan buenos.

ACTUALIZACIÓN: YAHOO BOSS JSON Search API se suspenderá el 31 de marzo de 2016

parece que tenemos que implementar la API de búsqueda personalizada de google https://developers.google.com/custom-search/ lo dice en la parte superior de la página que proporcionaste