Partilhar via


Início Rápido: Chamar o ponto final da Pesquisa Personalizada do Bing com C#

Aviso

A 30 de outubro de 2020, as APIs de Pesquisa do Bing passaram dos serviços de IA do Azure para os Serviços Pesquisa do Bing. Esta documentação é fornecida apenas para referência. Para obter documentação atualizada, veja a documentação da API de pesquisa do Bing. Para obter instruções sobre como criar novos recursos do Azure para a pesquisa do Bing, veja Criar um recurso de Pesquisa do Bing através do Azure Marketplace.

Utilize este início rápido para saber como pedir resultados de pesquisa à sua instância de Pesquisa Personalizada do Bing. Embora esta aplicação esteja escrita em C#, a API de Pesquisa Personalizada do Bing é um serviço Web RESTful compatível com a maioria das linguagens de programação. O código fonte para este exemplo está disponível no GitHub.

Pré-requisitos

Criar um recurso do Azure

Comece a utilizar a API de Pesquisa Personalizada do Bing ao criar um dos seguintes recursos do Azure.

Recurso de Pesquisa Personalizada do Bing

  • Disponível através do portal do Azure até eliminar o recurso.
  • Utilize o escalão de preço gratuito para experimentar o serviço e atualize mais tarde para um escalão pago para produção.

Recurso multi-serviço

  • Disponível através do portal do Azure até eliminar o recurso.
  • Utilize a mesma chave e ponto final para as suas aplicações, em vários serviços de IA do Azure.

Criar e inicializar a aplicação

  1. Crie uma nova aplicação de consola C# no Visual Studio. Em seguida, adicione os seguintes pacotes ao seu projeto:

    using System;
    using System.Net.Http;
    using System.Web;
    using Newtonsoft.Json;
    
  2. Crie as seguintes classes para armazenar os resultados da pesquisa devolvidos pela API de Pesquisa Personalizada do 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. No método principal do seu projeto, crie as seguintes variáveis para a chave de subscrição da API de Pesquisa Personalizada do Bing, o ID de configuração personalizada da instância de pesquisa e o termo de pesquisa:

    var subscriptionKey = "YOUR-SUBSCRIPTION-KEY";
    var customConfigId = "YOUR-CUSTOM-CONFIG-ID";
    var searchTerm = args.Length > 0 ? args[0]:"microsoft";
    
  4. Construa o URL do pedido ao acrescentar o termo de pesquisa ao parâmetro de consulta e o q= ID de configuração personalizado da instância de pesquisa para o customconfig= parâmetro . Separe os parâmetros com um e comercial (&). Para o valor da url variável, pode utilizar o ponto final global no código seguinte ou utilizar o ponto final de subdomínio personalizado apresentado na portal do Azure do recurso.

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

Enviar e receber um pedido de pesquisa

  1. Crie um cliente de pedido e adicione a chave de subscrição ao Ocp-Apim-Subscription-Key cabeçalho.

    var client = new HttpClient();
    client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", subscriptionKey);
    
  2. Execute o pedido de pesquisa e obtenha a resposta como um objeto JSON.

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

Processar e ver os resultados

  • Iterar sobre o objeto de resposta para apresentar informações sobre cada resultado de pesquisa, incluindo o respetivo nome, URL e a data em que a página Web foi pesquisada pela última vez.

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

Passos seguintes