Partager via


Démarrage rapide : Appeler votre point de terminaison Recherche personnalisée Bing avec C#

Avertissement

Le 30 octobre 2020, les API de recherche Bing sont passées des services Azure AI aux services de recherche Bing. Cette documentation est fournie à des fins de référence uniquement. Pour accéder à la documentation mise à jour, consultez la documentation de l’API Recherche Bing. Pour obtenir des instructions sur la création de nouvelles ressources Azure pour Recherche Bing, consultez Créer une ressource Recherche Bing à l’aide de Place de marché Azure.

Utilisez ce guide de démarrage rapide pour découvrir comment demander des résultats de recherche à partir de votre instance Recherche personnalisée Bing. Bien que cette application est écrite en C#, l’API Recherche personnalisée Bing constitue un service web RESTful compatible avec la plupart des langages de programmation. Le code source de cet exemple est disponible sur GitHub.

Prérequis

  • Une instance Recherche personnalisée Bing. Pour plus d’informations, consultez Démarrage rapide : Créer votre première instance de Recherche personnalisée Bing.

  • Microsoft .NET Core.

  • N’importe quelle édition de Visual Studio 2019 ou version ultérieure.

  • Si vous utilisez Linux/MacOS, cette application peut être exécutée à l’aide de Mono.

  • Le package NuGet Recherche personnalisée Bing.

    Pour installer ce package dans Visual Studio :

    1. Cliquez avec le bouton droit sur le projet dans l’Explorateur de solutions, puis sélectionnez Gérer les packages NuGet.
    2. Recherchez et sélectionnez Microsoft.Azure.CognitiveServices.Search.CustomSearch, puis installez le package.

    Lorsque vous installez le package NuGet Recherche personnalisée Bing, Visual Studio installe également les packages suivants :

    • Microsoft.Rest.ClientRuntime
    • Microsoft.Rest.ClientRuntime.Azure
    • Newtonsoft.Json

Créer une ressource Azure

Commencez à utiliser l’API Recherche personnalisée Bing en créant une des ressources Azure suivantes.

Ressource Recherche personnalisée Bing

  • Disponible via le portail Azure jusqu’à ce que vous supprimiez la ressource.
  • Utilisez le niveau tarifaire Gratuit pour tester le service, puis effectuez par la suite une mise à niveau vers un niveau payant pour la production.

Ressource multiservice

  • Disponible via le portail Azure jusqu’à ce que vous supprimiez la ressource.
  • Utilisez la même clé et le même point de terminaison pour vos applications, sur plusieurs services Azure AI.

Créer et initialiser l’application

  1. Créez une application console C# dans Visual Studio. Ajoutez ensuite les packages suivants à votre projet :

    using System;
    using System.Net.Http;
    using System.Web;
    using Newtonsoft.Json;
    
  2. Créez les classes suivantes pour stocker les résultats de recherche retournés par l’API Recherche personnalisée Bing :

    public class BingCustomSearchResponse {        
        public string _type{ get; set; }            
        public WebPages webPages { get; set; }
    }
    
    public class WebPages {
        public string webSearchUrl { get; set; }
        public int totalEstimatedMatches { get; set; }
        public WebPage[] value { get; set; }        
    }
    
    public class WebPage {
        public string name { get; set; }
        public string url { get; set; }
        public string displayUrl { get; set; }
        public string snippet { get; set; }
        public DateTime dateLastCrawled { get; set; }
        public string cachedPageUrl { get; set; }
    }
    
  3. Dans la méthode principale de votre projet, créez les variables suivantes pour votre clé d’abonnement de l’API Recherche personnalisée Bing, l’ID de configuration personnalisée de votre instance de recherche et un terme de recherche :

    var subscriptionKey = "YOUR-SUBSCRIPTION-KEY";
    var customConfigId = "YOUR-CUSTOM-CONFIG-ID";
    var searchTerm = args.Length > 0 ? args[0]:"microsoft";
    
  4. Construisez l’URL de requête en ajoutant votre terme de recherche au paramètre de requête q=, et l’ID de configuration personnalisée de votre instance de recherche au paramètre customconfig=. Séparez les paramètres par une esperluette (&). Pour la valeur de la variable url, vous pouvez utiliser le point de terminaison global ci-dessous, ou le point de terminaison de sous-domaine personnalisé affiché dans le portail Azure pour votre ressource.

    var url = "https://api.cognitive.microsoft.com/bingcustomsearch/v7.0/search?" +
                "q=" + searchTerm + "&" +
                "customconfig=" + customConfigId;
    

Envoyer et recevoir une requête de recherche

  1. Créez un client de requête et ajoutez votre clé d’abonnement à l’en-tête Ocp-Apim-Subscription-Key.

    var client = new HttpClient();
    client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", subscriptionKey);
    
  2. Effectuez la requête de recherche et obtenez la réponse sous la forme d’un objet JSON.

    var httpResponseMessage = client.GetAsync(url).Result;
    var responseContent = httpResponseMessage.Content.ReadAsStringAsync().Result;
    BingCustomSearchResponse response = JsonConvert.DeserializeObject<BingCustomSearchResponse>(responseContent);
    

Traiter et afficher les résultats

  • Itérez sur l’objet de réponse pour afficher des informations sur chaque résultat de recherche, y compris son nom, l’url et la date à laquelle la page web a été analysée pour la dernière fois.

    for(int i = 0; i < response.webPages.value.Length; i++) {                
        var webPage = response.webPages.value[i];
    
        Console.WriteLine("name: " + webPage.name);
        Console.WriteLine("url: " + webPage.url);                
        Console.WriteLine("displayUrl: " + webPage.displayUrl);
        Console.WriteLine("snippet: " + webPage.snippet);
        Console.WriteLine("dateLastCrawled: " + webPage.dateLastCrawled);
        Console.WriteLine();
    }
    Console.WriteLine("Press any key to exit...");
    Console.ReadKey();
    

Étapes suivantes