Delen via


Quickstart: Aanroepen van uw Bing Custom Search-eindpunt met C#

Waarschuwing

Op 30 oktober 2020 zijn de Zoeken in Bing API's verplaatst van Azure AI-services naar Zoeken in Bing Services. Deze documentatie is alleen bedoeld ter referentie. Zie de bing zoek-API-documentatie voor bijgewerkte documentatie. Zie Een Zoeken in Bing resource maken via de Azure Marketplace voor instructies voor het maken van nieuwe Azure-resources voor Bing Search.

Lees in deze quickstart hoe u zoekresultaten opvraagt van de Bing Custom Search-instantie. Hoewel deze toepassing is geschreven in C#, is de Bing Custom Search-API een RESTful-webservice die compatibel is met vrijwel elke programmeertaal. De broncode voor dit voorbeeld is beschikbaar op GitHub.

Vereisten

  • Een Bing Custom Search-exemplaar. Zie voor meer informatie Snelstart: Uw eerste Bing Custom Search-instantie maken.

  • Microsoft .NET Core.

  • Een versie van Visual Studio 2019 of hoger.

  • Als u Linux/MacOS gebruikt, kan deze toepassing worden uitgevoerd met behulp van Mono.

  • Het NuGet-pakket Bing Custom Search.

    U kunt dit pakket als volgt installeren in Visual Studio:

    1. Klik met de rechtermuisknop op het project in Solution Explorer en selecteer vervolgens NuGet-pakketten beheren.
    2. Zoek en selecteer Microsoft.Azure.CognitiveServices.Search.CustomSearch en installeer vervolgens het pakket.

    Wanneer u het NuGet-pakket Bing Custom Search installeert, installeert Visual Studio ook de volgende pakketten:

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

Een Azure-resource maken

Begin met het gebruik van de Bing Custom Search-API door een van de volgende Azure-resources te maken.

Resource voor Bing Custom Search

  • Beschikbaar via de Azure-portal totdat u de resource verwijdert.
  • Gebruik de gratis prijscategorie om de service uit te proberen, en voer later een upgrade uit naar een betaalde categorie voor productie.

Resource voor meerdere services

  • Beschikbaar via de Azure-portal totdat u de resource verwijdert.
  • Gebruik dezelfde sleutel en hetzelfde eindpunt voor uw toepassingen, in meerdere Azure AI-services.

De toepassing maken en initialiseren

  1. Maak in Visual Studio een nieuwe C#-consoletoepassing. Voeg vervolgens de volgende pakketten toe aan uw project:

    using System;
    using System.Net.Http;
    using System.Web;
    using Newtonsoft.Json;
    
  2. Maak de volgende klassen om de zoekresultaten op te slaan die door de Bing Custom Search-API worden geretourneerd:

    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. Maak in de hoofdmethode van uw project de volgende variabelen voor uw abonnementssleutel van de Bing Custom Search-API, de aangepaste configuratie-ID van de zoekinstantie en een zoekterm:

    var subscriptionKey = "YOUR-SUBSCRIPTION-KEY";
    var customConfigId = "YOUR-CUSTOM-CONFIG-ID";
    var searchTerm = args.Length > 0 ? args[0]:"microsoft";
    
  4. Stel de aanvraag-URL samen door uw zoekterm toe te voegen aan de queryparameter q=, en de aangepaste configuratie-id van uw zoekinstantie aan de parameter customconfig=. Scheid de parameters van elkaar met een en-teken (&). Voor de variabele waarde voor url kunt u het globale eindpunt in de volgende code gebruiken of het eindpunt voor het aangepaste subdomein gebruiken dat voor uw resource wordt weergegeven in Azure Portal.

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

Een zoekaanvraag verzenden en ontvangen

  1. Maak een aanvraag-client, en voeg uw abonnementssleutel toe aan de Ocp-Apim-Subscription-Key-header.

    var client = new HttpClient();
    client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", subscriptionKey);
    
  2. Voer de zoekaanvraag uit en haal de reactie op als een JSON-object.

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

De resultaten verwerken en weergeven

  • Doorloop het reactieobject om informatie weer te geven over elk zoekresultaat, waaronder de naam, de URL en de datum waarop de webpagina voor het laatst is gecrawld.

    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();
    

Volgende stappen