Prima di tutto , devi assicurarti di aver generato la tua chiave API e il CX. Io parto dal presupposto che hai fatto già, altrimenti si può fare a quei luoghi:
- API Key (è necessario creare una nuova chiave del browser)
- CX (è necessario creare un motore di ricerca personalizzato)
una volta che avete quelli, ecco una semplice applicazione console che esegue la ricerca e discariche tutti i titoli/link:
static void Main(string[] args)
{
WebClient webClient = new WebClient();
string apiKey = "YOUR KEY HERE";
string cx = "YOUR CX HERE";
string query = "YOUR SEARCH HERE";
string result = webClient.DownloadString(String.Format("https://www.googleapis.com/customsearch/v1?key={0}&cx={1}&q={2}&alt=json", apiKey, cx, query));
JavaScriptSerializer serializer = new JavaScriptSerializer();
Dictionary<string, object> collection = serializer.Deserialize<Dictionary<string, object>>(result);
foreach (Dictionary<string, object> item in (IEnumerable)collection["items"])
{
Console.WriteLine("Title: {0}", item["title"]);
Console.WriteLine("Link: {0}", item["link"]);
Console.WriteLine();
}
}
Come puoi vedere, sto usando una deserializzazione JSON generica in un dizionario invece di essere fortemente tipizzata. Questo è per scopi di comodità, dal momento che non voglio creare una classe che implementa lo schema dei risultati di ricerca. Con questo approccio, il payload è il set annidato di coppie chiave-valore. Ciò che ti interessa di più è la collezione di oggetti, che è il risultato della ricerca (prima pagina, presumo). Sto solo accedendo alle proprietà "title" e "link", ma ce ne sono molte più di quante tu possa vedere dalla documentazione o ispezionare nel debugger.
fonte
2012-06-21 03:01:43
Il tuo link "Riferimento API" è morto ... – billy