2011-06-09 16 views
5

Como parte de un proyecto de búsqueda de personas en el que participo actualmente, debo escribir un script de ruby ​​que pueda enviar consultas de búsqueda a la API y la tienda de búsqueda personalizada de Google. los resultados de búsqueda para el procesamiento. Encontré el ruby ​​google-api-client gem (http://code.google.com/p/google-api-ruby-client/) y lo instalé, pero, a pesar de haber leído a fondo la documentación, estoy perdido en cuanto a cómo ejecutar una llamada API de búsqueda personalizada. Este es mi primer intento de usar las API de Google y encuentro que el proceso es un poco abrumador, ¿hay alguien por ahí con alguna experiencia que pueda proporcionarme algún código de muestra para estudiar? GraciasUso de la API de búsqueda personalizada de Google con Ruby google-api-client

Respuesta

2

Aunque no he probado esto, algo como esto debería funcionar:

require 'google/api_client' 
# Creates an instance of the client. 
client = Google::APIClient.new 
# Authorization setup goes here. 
# Fetch the discovery document and obtain a reference to the API we care about. 
search = client.discovered_api('customsearch') 
# Make an API call using a reference to a discovered method. 
response = client.execute(
    search.cse.list, 'q' => 'your query' 
) 
status, headers, body = response 

Tenga en cuenta que he omitido todo el código de configuración para la autenticación, que se puede encontrar en la documentación para el cliente de Ruby .

+0

Creo que el área en la que me estoy cayendo es que no entiendo qué documentos de descubrimiento se encuentran. ¿Algún recurso para aprender sobre ellos y qué debo hacer con ellos? –

+0

@Richard Creo que no tendrá que hacer nada con ellos que no sean las consultas de compilación, como se muestra en los documentos de gemas. Parece que los bits de manejo del documento de descubrimiento se han eliminado en la gema, pero aquí hay un enlace que explica cuáles son: http://code.google.com/apis/discovery/v1/using.html#discovery-doc –

+0

Sí , esencialmente, es un recurso que describe la API de una manera legible por máquina. Esto le permite al cliente entender exactamente cómo hacer llamadas a la API para una API en particular. Todo lo que necesita saber es el identificador de la API y la versión a la que se dirige para obtener una referencia al documento de descubrimiento. A continuación, puede usar esta referencia de documento de descubrimiento para obtener referencias de método y luego pasar los parámetros apropiados a la llamada API. –

1

Hay algunas entradas y salidas con la autenticación cuando se utiliza una clave api a diferencia de OAuth que se describe en the code abode.

Tiene que establecer explícitamente el parametro authorzation en nil al construir el cliente; de ​​lo contrario, la gema intenta usar OAuth para autenticarse, por lo que si llama desde un servidor usando una clave api, siempre obtendrá un 401 no autorizado. Se proporciona el código completo que usa la api búsqueda personalizada (copy paste en irb). the code abode - google-api-client for ruby

Cuestiones relacionadas