Comment utiliser Bing Search dans vos applications

Ces derniers jours, lors de mon développement, j’ai été amené à implémenter une recherche dans mon application. J’ai donc entamé quelque recherche à ce sujet et j’ai décidé d’utiliser Bing Search. J’ai été agréablement surpris de la simplicité de mise en place et d’utilisation de ce service. Je vais vous expliquer comment le mettre en place. La première étape est de se créer une clé pour l’api de bing. Pour se faire, rendez-vous sur la page : http://www.bing.com/developers/default.aspx . Une fois sur cette page, loguez vous avec votre LIVE ID grâce au bouton “Sign in”. Il vous reste donc maintenant à cliquer sur “Get started by applying for an AppID now.”. Une foi les champs complétés et les Terms of use approuvé, cliquez sur “Agree” et vous obtiendrez vos clé API.

Maintenant ajoutons une référence à BingService dans notre application. Faites un clique droit sur votre projet et choisissez “Add Service Reference”. Ceci fait, une fenêtre va s’ouvrir. Renseignez l’adresse suivante dans “Adress” : http://api.search.live.net/search.wsdl?Appid=VOTRECLEAPI . Ensuite, cliquez sur GO. Dans “Services” devrait alors s’afficher BingService. Renseignez maitenant un nom de namespace (ex : BingService) et cliquez sur OK.

Maintenant, créez le code votre interface. Je vous mets le code du pivot IMAGE de mon application. Je vous passe les explications, c’est une listbox très simple (voir screen pour le résultat)


Ce code vous donnera donc ceci : Passons donc maintenant au chose intéressante, c’est à dire le code qui sera exécuté au click du bouton “GO”.

 private void LaunchSearchImage() { BingPortTypeClient clientImage = new BingPortTypeClient(); SearchRequest request = new SearchRequest(); //Renseignemet obligatoire request.AppId = APIKEY; //Par exemple : APIKEY = "AD862B3DA164DE3A642C43E87569276ED2E52FCB" request.Sources = new SourceType[] { SourceType.Image }; //Ce que l'on veut rechercher (on peut rechercher plusieurs sources en même temps) request.Query = _searchBox.Text; //Notre texte recherché //Renseignement optionel request.Image = new ImageRequest(); request.Image.Count = 40; //Nombre d'élément que l'on veut récupérer request.Image.CountSpecified = true; clientImage.SearchCompleted += new System.EventHandler(clientImage_SearchCompleted); clientImage.SearchAsync(request); }

Je pense que le code est vraiment assez simple et les commentaires suffisent pour le comprendre. Pour finir, on va donc récupérer les images et les afficher dans notre application

 void clientImage_SearchCompleted(object sender, SearchCompletedEventArgs e) { SearchResponse response = e.Result; ImageResponse imageResponse = e.Result.Image; _resultListBox.Items.Clear(); //On nettoi notre listbox if (response.Image.Results != null) { //On va parcourir notre liste de résultat pour récupérer les images. foreach (ImageResult bingImage in response.Image.Results) { Image image = new Image(); image.Source = new BitmapImage(new Uri(bingImage.Thumbnail.Url)); image.Stretch = System.Windows.Media.Stretch.UniformToFill; image.Margin = new System.Windows.Thickness(5); image.Width = 200; image.Height = 200; _resultListBox.Items.Add(image); //On ajoute l'image créé à notre listbox. } } else MessageBox.Show("Aucun résultats"); }

Et voila ! Vous avez mis en place une recherche avec bing search ! Je trouve vraiment que c’est très simple à mettre en place et vraiment très propre. J’espère que ce tutoriel vous aidera. Si vous avez un problème, je mets les sources de l’exemple ci dessous. (Attention, n’utilisez pas la clé API qui se trouve dans cet exemple pour votre application 😉 )


Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /home/birditeuqn/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /home/birditeuqn/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /home/birditeuqn/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /home/birditeuqn/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /home/birditeuqn/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /home/birditeuqn/blog/wp-includes/category.php on line 383
Categories: Development

Deprecated: Creation of dynamic property WP_Query::$comments_by_type is deprecated in /home/birditeuqn/blog/wp-includes/comment-template.php on line 1528

No Comments

Post a Comment