venerdì 19 settembre 2014

Ricerca con Bing Api e c# da una pagina aspx di Microsoft .Net

Con queste semplice esempio è possibile utilizzare le Bing Api tramite c# ed eseguire una ricerca con Bing.
Si può creare ad esempio un pulsante che punti sul metodo e restituisca i risultati su di una listBox e una textBox per inserire la ricerca.
Per curiosità ho inserito nel webConfig l'inidirizzo e la chiave per connettersi a Bing, ma ciò non toglie che si può facilmente inserire nel sorgente c#.
Attualmente per utilizzare le Api di Bing bisogna creare un account Azure (disponibile anche gratuitamente) e farsi dare la chiave di accesso.

Nel file Web.Config inserire le due righe:
<add key="BingKey" value="1231231231231231231321231231231231231231231"/>
<add key="BingUrl" value="https://api.datamarket.azure.com/Bing/Search/"/>

Metodo da richiamare in c#
// Example for only English language research; null= all languages
BingSearch("rent car europe", "en-GB"); 

Codice di esempio da inserire per c#
string bingKey = ConfigurationManager.AppSettings["BingKey"].ToString();
string bingUrl = ConfigurationManager.AppSettings["BingUrl"].ToString();

public void BingSearch(string search_expression, string lang)
{
 try{
  var bingContainer = new Bing.BingSearchContainer(new Uri(bingUrl));
  var accountKey = bingKey;
  bingContainer.Credentials = new NetworkCredential(accountKey, accountKey);
 
  var searchQuery = bingContainer.Web(search_expression, null, null, lang.Equals("")?null:lang, null, null, null, null);
  var varResults = searchQuery.Execute();

  foreach (var result in varResults)
  {
   ....
  }
 }
 catch (Exception ex)
 {}
}