2014-11-20 16 views
9

Ho analizzato diversi collegamenti per trovare i passaggi corretti per implementare google customsearchapi in un'applicazione ios e trascorso circa 6-7 ore in tale processo.Implementazione dell'API di ricerca personalizzata di Google in iOS

vicini:

Tutti questi forniscono bit e peci di formazione. C'è spazio per avere informazioni sintetiche e precise che possono aiutare a implementare la ricerca personalizzata in un'applicazione iOS?

risposta

36

Breve fase del processo:

  1. creare un account Google (ignorare se ne avete uno)
  2. Si può trovare un pò di pace di informazioni relative ai prezzi in fondo this page helpful (si può ignorare questo troppo)
  3. crea progetto e generare API chiave
    1. Vai a google consol e creare un progetto
    2. Dopo aver creato il progetto, fare clic su di esso per andare al suo dettaglio.
    3. Nella barra sinistra sotto il segmento API &, fare clic su API.
    4. Ora troverai il collegamento CustomSearchAPI nella sezione API di Navigazione (dato che non è attivato per impostazione predefinita), attivalo facendo clic sul pulsante a destra.
    5. Ora fai clic su Credenziali, sotto l'opzione API
    6. In questa pagina sotto "Accesso API pubblico" fai clic su Crea nuovo pulsante chiave, per ora scegli la chiave del browser (come prima vogliamo testarlo sul browser), crea e lascialo, come è per ora.
  4. Crea Custom Search Engine
    1. Ora sulla nuova scheda, aperta Custom Search Engine pagina. In questa pagina fai clic su Crea un motore di ricerca personalizzato, pulsante
    2. Che ti porterà a create new search engine page, qui inserisci il tuo nome di dominio nel campo "Siti da cercare". (Se non si ha una preoccupazione, dare qualsiasi cosa, che hanno www. All'inizio e .com alla fine)
    3. Nome riempimento, se non ne ha già selezionato uno, quindi fare clic su Crea.
    4. Quindi ti sei fatto un salto in un robo per congratularti con te? ;) Si è così.In questa pagina fai clic su "Modifica il tuo motore di ricerca" facendo clic sul pulsante "Pannello di controllo"
    5. Eccoti, ora attiva Cerca immagine, (se lo desideri)
    6. Anche in "Siti per cerca ", seleziona" Cerca nell'intero sito web ma enfatizza l'elemento incluso "invece di quello predefinito" Cerca solo sito incluso "
    7. In questo modo, nella parte inferiore di questa pagina, fai clic su Aggiorna. E poi tornare al centro della pagina e sotto il titolo "Dettagli", fare clic su ID motore di ricerca, copiare l'Id, incollarlo da qualche parte.
  5. Realizzare una ricerca, using get request:
    1. Per effettuare una richiesta GET uso this request URL
    2. In esso sostituire, {api_key} che avete creato la sezione
    3. sotto "Crea progetto e generare API key"
    4. E sostituisci {SEARCH_ENGINE_KEY} con l'Id del motore di ricerca che hai appena copiato Chiamalo con un valore diverso, a stringa di query, di "a", https://www.googleapis.com/customsearch/v1? q = a & key = {api_key} & cx = {SEARCH_ENGINE_KEY} cambiare con qualsiasi cosa che si desidera cercare è necessario avere avuto la bella JSON dei risultati di ricerca
  6. altre cose
    1. Se vuoi vedere lo stato della richiesta, tornare alla pagina del tuo progetto, in che modo la richiesta può essere inoltrata, quanti di quelli falliti, ecc. Clicca sul visione d'insieme e si otterrà il grafico per questo, ti amo google
    2. Se avete problemi con JSON, ecco alcuni link al vostro servizio,
      1. Ciò che è JSON 1, 2?
      2. Utilizzare JSON in ios.
      3. Utilizzare JSON in android.
+1

grazie. Ha aiutato molto! –

+0

ha funzionato mann grazie a lott, voglio ottenere tutte le immagini con quella parola chiave. puoi aiutarmi? –

+0

@KunalGupta C'è sempre un limite massimo di risposta per qualsiasi parola chiave di ricerca, quindi ottenere tutte le immagini per una parola chiave non sarà tecnicamente possibile con queste API. – rptwsthi

0

Il seguente fornisce implementazione in Swift 4, di "GET" richiesta 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()