Implementación de la API de búsqueda personalizada de Google en iOS
json google-custom-search (2)
Revisé varios enlaces para encontrar los pasos adecuados para implementar google customsearchapi en una aplicación ios y pasé unas 6-7 horas en ese proceso.
Enlaces:
- https://developers.google.com/custom-search/json-api/v1/introduction
- http://developers.google.com/apis-explorer/#p/customsearch/v1/search.cse.list?q=a&_h=1&
- https://productforums.google.com/forum/#!topic/customsearch/hT2fnfErVwo
- Búsqueda personalizada de Google: error 403 en iOS
- Y padre de todos
Todos estos proporcionan pedazos y paces de formación. ¿Hay algún lugar para tener una información resumida y precisa que pueda ayudar a implementar la búsqueda personalizada en una aplicación iOS?
A continuación se proporciona la implementación en
Swift 4
de la solicitud
"GET"
del
google custom search engine
,
let apiKey = "Your api key here"
let bundleId = "com.Your uniqueBundleId here"
let searchEngineId = "Your searchEngine here"
let serverAddress = String(format: "https://www.googleapis.com/customsearch/v1?q=%@&cx=%@&key=%@","Your query here" ,searchEngineId, apiKey)
let url = serverAddress.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
let finalUrl = URL(string: url!)
let request = NSMutableURLRequest(url: finalUrl!, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10)
request.httpMethod = "GET"
request.setValue(bundleId, forHTTPHeaderField: "X-Ios-Bundle-Identifier")
let session = URLSession.shared
let datatask = session.dataTask(with: request as URLRequest) { (data, response, error) in
do{
if let jsonResult = try JSONSerialization.jsonObject(with: data!, options: []) as? NSDictionary {
print("asyncResult/(jsonResult)")
}
}
catch let error as NSError {
print(error.localizedDescription)
}
}
datatask.resume()
Breve paso del proceso:
- Crea una cuenta de Google (ignora si tienes una)
- Puede encontrar algo de tranquilidad relacionada con los precios al final de esta página útil (puede ignorar esto también)
-
Crear proyecto y generar clave API
- Ve a Google Consol y crea un proyecto
- Después de crear el proyecto, haga clic en él para ir a sus detalles.
- En la barra izquierda debajo del segmento de autenticación y API, haga clic en API.
- Ahora encontrará el enlace CustomSearchAPI en la sección API de Brows (ya que no está activado de forma predeterminada), actívelo haciendo clic en el botón de la derecha.
- Ahora haga clic en Credenciales, justo debajo de la opción API
- En esta página, bajo "Acceso a la API pública", haga clic en el botón Crear nueva clave, por ahora elija la clave del navegador (ya que al principio queremos probarlo en el navegador), créelo y déjelo como está por ahora.
-
Crear
motor de búsqueda personalizado
- Ahora en la nueva pestaña, abra la página Motor de búsqueda personalizado . En esta página, haga clic en Crear un motor de búsqueda personalizado, botón
- Eso lo llevará a crear una nueva página de motor de búsqueda , aquí ingrese su nombre de dominio en el campo "Sitios para buscar". (Si no tiene uno, no se preocupe, dele algo, que tenga www. Al principio y .com al final)
- Nombre del relleno, si aún no ha elegido uno, haga clic en crear.
- ¿Entonces tienes un robo saltador para felicitarte? ;) Si eso es. En esta página, vaya a "Modificar su motor de búsqueda" haciendo clic en el botón "Panel de control"
- Ahí está, ahora active la Búsqueda de imágenes (si lo desea)
- También en la sección "Sitios para buscar", seleccione "Buscar en toda la web pero enfatice el elemento incluido", en lugar del predeterminado, que es "Buscar solo sitio incluido"
- Eso es todo, en la parte inferior de esta página, haga clic en actualizar. Y luego regrese al centro de la página y debajo del título "Detalle", haga clic en ID del motor de búsqueda, copie el ID, péguelo en alguna parte.
-
Realice una búsqueda,
utilizando obtener solicitud
:
- Para realizar una solicitud de obtención, use esta URL de solicitud
- En su reemplazo, {API_KEY} que ha creado en la sección "Crear proyecto y generar clave API"
- Y reemplace {SEARCH_ENGINE_KEY} con el Id. Del motor de búsqueda que acaba de copiar pegado. ¿Llamarlo con un valor diferente, en la cadena de consulta, que ''a'', https://www.googleapis.com/customsearch/v1 ? q = a & key = {API_KEY} & cx = {SEARCH_ENGINE_KEY} cambiar a con cualquier cosa que quieras buscar debes tener el hermoso JSON del resultado de búsqueda
-
Otras cosas
- Si desea ver el estado de la solicitud, regrese a la página de su proyecto, que cómo se puede realizar la solicitud, cuántos de ellos fallaron, etc. Haga clic en la descripción general y obtendrá el gráfico para eso, te amo google
- Si tiene problemas con JSON, aquí hay algunos enlaces a su servicio,