Szybki start: korzystanie z biblioteki klienta wyszukiwania wiadomości Bing

Ostrzeżenie

30 października 2020 r. interfejsy API Wyszukiwanie Bing zostały przeniesione z usług Azure AI do usług Wyszukiwanie Bing Services. Ta dokumentacja jest dostarczana tylko do celów referencyjnych. Aby uzyskać zaktualizowaną dokumentację, zobacz dokumentację interfejsu API wyszukiwania Bing. Aby uzyskać instrukcje dotyczące tworzenia nowych zasobów platformy Azure na potrzeby wyszukiwania Bing, zobacz Tworzenie zasobu Wyszukiwanie Bing za pomocą Azure Marketplace.

Użyj tego przewodnika Szybki start, aby rozpocząć wyszukiwanie wiadomości za pomocą biblioteki klienta wyszukiwania wiadomości Bing dla języka C#. Chociaż wyszukiwanie wiadomości Bing ma interfejs API REST zgodny z większością języków programowania, biblioteka kliencka zapewnia łatwy sposób integracji usługi z aplikacjami. Kod źródłowy tego przykładu można znaleźć w usłudze GitHub.

Wymagania wstępne

Aby skonfigurować aplikację konsolową przy użyciu biblioteki klienta wyszukiwania wiadomości Bing, przejdź do Manage NuGet Packages opcji z Eksplorator rozwiązań w programie Visual Studio. Dodaj pakiet Microsoft.Azure.CognitiveServices.Search.NewsSearch.

Tworzenie zasobu platformy Azure

Zacznij korzystać z interfejsu API wyszukiwania wiadomości Bing, tworząc jeden z następujących zasobów platformy Azure:

zasób Wyszukiwanie Bing w wersji 7

  • Dostępne za pośrednictwem Azure Portal do momentu usunięcia zasobu.
  • Użyj warstwy cenowej Bezpłatna, aby wypróbować usługę, a następnie uaktualnić ją do warstwy płatnej dla środowiska produkcyjnego.

Zasób z wieloma usługami

  • Dostępne za pośrednictwem Azure Portal do momentu usunięcia zasobu.
  • Użyj tego samego klucza i punktu końcowego dla aplikacji w wielu usługach azure AI.

Tworzenie i inicjowanie projektu

  1. Utwórz nowe rozwiązanie konsolowe dla języka C# w programie Visual Studio. Dodaj następujący kod do głównego pliku kodu.

    using System;
    using System.Linq;
    using Microsoft.Azure.CognitiveServices.Search.NewsSearch;
    
  2. Utwórz zmienną dla klucza interfejsu API i termin wyszukiwania, a następnie wystąpienie klienta wyszukiwania wiadomości na jego podstawie.

    var key = "YOUR-ACCESS-KEY";
    var searchTerm = "Quantum Computing";
    var client = new NewsSearchClient(new ApiKeyServiceClientCredentials(key));
    

Wysyłanie żądania i analizowanie wyniku

  1. Użyj klienta, aby wysłać żądanie wyszukiwania do usługi wyszukiwania wiadomości Bing:

    var newsResults = client.News.SearchAsync(query: searchTerm, market: "en-us", count: 10).Result;
    
  2. Jeśli zostaną zwrócone jakiekolwiek wyniki, przeanalizuj je:

    if (newsResults.Value.Count > 0)
    {
        var firstNewsResult = newsResults.Value[0];
    
        Console.WriteLine($"TotalEstimatedMatches value: {newsResults.TotalEstimatedMatches}");
        Console.WriteLine($"News result count: {newsResults.Value.Count}");
        Console.WriteLine($"First news name: {firstNewsResult.Name}");
        Console.WriteLine($"First news url: {firstNewsResult.Url}");
        Console.WriteLine($"First news description: {firstNewsResult.Description}");
        Console.WriteLine($"First news published time: {firstNewsResult.DatePublished}");
        Console.WriteLine($"First news provider: {firstNewsResult.Provider[0].Name}");
    }
    
    else
    {
        Console.WriteLine("Couldn't find news results!");
    }
    Console.WriteLine("Enter any key to exit...");
    Console.ReadKey();
    

Następne kroki

Użyj tego przewodnika Szybki start, aby rozpocząć wyszukiwanie wiadomości za pomocą biblioteki klienta wyszukiwania wiadomości Bing dla języka Java. Chociaż wyszukiwanie wiadomości Bing ma interfejs API REST zgodny z większością języków programowania, biblioteka kliencka zapewnia łatwy sposób integracji usługi z aplikacjami. Kod źródłowy tego przykładu można znaleźć w usłudze GitHub.

Wymagania wstępne

Zainstaluj zależności biblioteki klienta wyszukiwania wiadomości Bing przy użyciu programu Maven, Gradle lub innego systemu zarządzania zależnościami. Plik POM systemu Maven wymaga następującej deklaracji:

    <dependencies>
    <dependency>
        <groupId>com.microsoft.azure.cognitiveservices</groupId>
        <artifactId>azure-cognitiveservices-newssearch</artifactId>
        <version>0.0.1-beta-SNAPSHOT</version>
    </dependency>
    </dependencies>

Tworzenie zasobu platformy Azure

Zacznij korzystać z interfejsu API wyszukiwania wiadomości Bing, tworząc jeden z następujących zasobów platformy Azure:

zasób Wyszukiwanie Bing w wersji 7

  • Dostępne za pośrednictwem Azure Portal do momentu usunięcia zasobu.
  • Użyj warstwy cenowej Bezpłatna, aby wypróbować usługę, a następnie uaktualnić ją do warstwy płatnej dla środowiska produkcyjnego.

Zasób z wieloma usługami

  • Dostępne za pośrednictwem Azure Portal do momentu usunięcia zasobu.
  • Użyj tego samego klucza i punktu końcowego dla aplikacji w wielu usługach azure AI.

Tworzenie i inicjowanie projektu

Utwórz nowy projekt w języku Java w ulubionym środowisku IDE lub edytorze i zaimportuj poniższe biblioteki.

import com.microsoft.azure.cognitiveservices.newssearch.*;
import com.microsoft.azure.cognitiveservices.newssearch.implementation.NewsInner;
import com.microsoft.azure.cognitiveservices.newssearch.implementation.NewsSearchAPIImpl;
import com.microsoft.azure.cognitiveservices.newssearch.implementation.TrendingTopicsInner;
import com.microsoft.rest.credentials.ServiceClientCredentials;
import okhttp3.Interceptor;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import java.io.IOException;

Tworzenie klienta wyszukiwania i przechowywanie poświadczeń

  1. Utwórz metodę o nazwie getClient(), która zwraca nowego klienta wyszukiwania NewsSearchAPIImpl. Dodaj swój punkt końcowy jako pierwszy parametr dla nowego obiektu NewsSearchAPIImpl oraz nowy obiekt ServiceClientCredentials do przechowywania poświadczeń.

    public static NewsSearchAPIImpl getClient(final String subscriptionKey) {
        return new NewsSearchAPIImpl("https://api.cognitive.microsoft.com/bing/v7.0/",
                new ServiceClientCredentials() {
                });
    }
    
  2. Aby utworzyć obiekt ServiceClientCredentials, zastąp funkcję applyCredentialsFilter(). Przekaż element OkHttpClient.Builder do metody i użyj metody konstruktora addNetworkInterceptor() , aby utworzyć poświadczenia dla wywołania biblioteki klienta.

    new ServiceClientCredentials() {
        @Override
        public void applyCredentialsFilter(OkHttpClient.Builder builder) {
            builder.addNetworkInterceptor(
                    new Interceptor() {
                        @Override
                        public Response intercept(Chain chain) throws IOException {
                            Request request = null;
                            Request original = chain.request();
                            // Request customization: add request headers.
                            Request.Builder requestBuilder = original.newBuilder()
                                    .addHeader("Ocp-Apim-Subscription-Key", subscriptionKey);
                            request = requestBuilder.build();
                            return chain.proceed(request);
                        }
                    });
        }
    });
    

Wysyłanie i odbieranie żądania wyszukiwania

  1. Utwórz metodę, która wywołuje funkcję getClient() i wysyła żądanie wyszukiwania do usługi wyszukiwania wiadomości Bing. Przefiltruj wyszukiwanie za pomocą parametrów rynek i liczba, a następnie wypisz informacje o pierwszym wyniku dotyczącym wiadomości: nazwę, adres URL, datę publikacji, opis, nazwę dostawcy i łączną liczbę szacowanych dopasowań dla Twojego wyszukiwania.

    public static void newsSearch(String subscriptionKey)
    {
        NewsSearchAPIImpl client = getClient(subscriptionKey);
        String searchTerm = "Quantum Computing";
    
        NewsInner newsResults = client.searchs().list(searchTerm, null, null, null,
                null, null, 100, null, "en-us",
                null, null, null, null, null,
                null, null);
    
        if (newsResults.value().size() > 0)
        {
            NewsArticle firstNewsResult = newsResults.value().get(0);
    
            System.out.println(String.format("TotalEstimatedMatches value: %d", newsResults.totalEstimatedMatches()));
            System.out.println(String.format("News result count: %d", newsResults.value().size()));
            System.out.println(String.format("First news name: %s", firstNewsResult.name()));
            System.out.println(String.format("First news url: %s", firstNewsResult.url()));
            System.out.println(String.format("First news description: %s", firstNewsResult.description()));
            System.out.println(String.format("First news published time: %s", firstNewsResult.datePublished()));
            System.out.println(String.format("First news provider: %s", firstNewsResult.provider().get(0).name()));
        }
        else
        {
            System.out.println("Couldn't find news results!");
        }
    
    }
    
    
  2. Dodaj swoją metodę wyszukiwania do metody main(), aby wykonać kod.

    public static void main(String[] args) {
        String subscriptionKey = "YOUR-SUBSCRIPTION-KEY";
        NewsSearchSDK.newsSearch(subscriptionKey);
    }
    

Następne kroki

Użyj tego przewodnika Szybki start, aby rozpocząć wyszukiwanie wiadomości za pomocą biblioteki klienta wyszukiwania wiadomości Bing dla języka JavaScript. Chociaż wyszukiwanie wiadomości Bing ma interfejs API REST zgodny z większością języków programowania, biblioteka kliencka zapewnia łatwy sposób integracji usługi z aplikacjami. Kod źródłowy tego przykładu można znaleźć w usłudze GitHub.

Wymagania wstępne

  • Najnowsza wersja środowiska Node.js.
  • Zestaw SDK wyszukiwania wiadomości Bing dla języka JavaScript
    • Aby go zainstalować, uruchom polecenie npm install @azure/cognitiveservices-newssearch
  • Klasa CognitiveServicesCredentials z @azure/ms-rest-azure-js pakietu do uwierzytelniania klienta.
    • Aby go zainstalować, uruchom polecenie npm install @azure/ms-rest-azure-js

Tworzenie zasobu platformy Azure

Zacznij korzystać z interfejsu API wyszukiwania wiadomości Bing, tworząc jeden z następujących zasobów platformy Azure:

zasób Wyszukiwanie Bing w wersji 7

  • Dostępne za pośrednictwem Azure Portal do momentu usunięcia zasobu.
  • Użyj warstwy cenowej Bezpłatna, aby wypróbować usługę, a następnie uaktualnić ją do warstwy płatnej dla środowiska produkcyjnego.

Zasób z wieloma usługami

  • Dostępne za pośrednictwem Azure Portal do momentu usunięcia zasobu.
  • Użyj tego samego klucza i punktu końcowego dla aplikacji w wielu usługach azure AI.

Tworzenie i inicjowanie aplikacji

  1. Utwórz wystąpienie elementu CognitiveServicesCredentials. Utwórz zmienne dla klucza subskrypcji i termin wyszukiwania.

    const CognitiveServicesCredentials = require('@azure/ms-rest-azure-js').CognitiveServicesCredentials;
    let credentials = new CognitiveServicesCredentials('YOUR-ACCESS-KEY');
    let search_term = 'Winter Olympics'
    
  2. Utwórz wystąpienie klienta:

    const NewsSearchAPIClient = require('@azure/cognitiveservices-newssearch');
    let client = new NewsSearchAPIClient(credentials);
    

Wysyłanie zapytania wyszukiwania

  1. Użyj klienta, aby przeprowadzić wyszukiwanie przy użyciu terminu zapytania — w tym przykładzie jest to „Winter Olympics” (zimowe igrzyska olimpijskie):

    client.newsOperations.search(search_term).then((result) => {
        console.log(result.value);
    }).catch((err) => {
        throw err;
    });
    

Ten kod wyświetla elementy result.value w konsoli bez analizowania tekstu. Wyniki, jeśli zostały zwrócone w danej kategorii, obejmują następujące elementy:

  • _type: 'NewsArticle'
  • _type: 'WebPage'
  • _type: 'VideoObject'
  • _type: 'ImageObject'

Następne kroki

Użyj tego przewodnika Szybki start, aby rozpocząć wyszukiwanie wiadomości za pomocą biblioteki klienta wyszukiwania wiadomości Bing dla języka Python. Chociaż wyszukiwanie wiadomości Bing ma interfejs API REST zgodny z większością języków programowania, biblioteka kliencka zapewnia łatwy sposób integracji usługi z aplikacjami. Kod źródłowy tego przykładu można znaleźć w usłudze GitHub.

Wymagania wstępne

Zaleca się używanie środowiska wirtualnego do programowania w języku Python. Środowisko wirtualne możesz zainstalować i zainicjować przy użyciu modułu venv. Musi być zainstalowany moduł virtualenv dla języka Python 2.7. Środowisko wirtualne można utworzyć w następujący sposób:

python -m venv mytestenv

Zależności biblioteki klienta wyszukiwania wiadomości Bing można zainstalować za pomocą tego polecenia:

python -m pip install azure-cognitiveservices-search-newssearch

Tworzenie zasobu platformy Azure

Zacznij korzystać z interfejsu API wyszukiwania wiadomości Bing, tworząc jeden z następujących zasobów platformy Azure:

zasób Wyszukiwanie Bing w wersji 7

  • Dostępne za pośrednictwem Azure Portal do momentu usunięcia zasobu.
  • Użyj warstwy cenowej Bezpłatna, aby wypróbować usługę, a następnie uaktualnij ją do warstwy płatnej dla środowiska produkcyjnego.

Zasób z wieloma usługami

  • Dostępne za pośrednictwem Azure Portal do momentu usunięcia zasobu.
  • Użyj tego samego klucza i punktu końcowego dla aplikacji w wielu usługach azure AI.

Tworzenie i inicjowanie aplikacji

  1. Utwórz nowy plik kodu Python w ulubionym środowisku IDE lub edytorze i zaimportuj poniższe biblioteki. Utwórz zmienną dla klucza subskrypcji i termin wyszukiwania.

    from azure.cognitiveservices.search.newssearch import NewsSearchClient
    from msrest.authentication import CognitiveServicesCredentials
    subscription_key = "YOUR-SUBSCRIPTION-KEY"
    endpoint = "YOUR-ENDPOINT"
    search_term = "Quantum Computing"
    

Inicjowanie klienta i wysyłanie żądania

  1. Utwórz wystąpienie elementu CognitiveServicesCredentials.

    client = NewsSearchClient(endpoint=endpoint, credentials=CognitiveServicesCredentials(subscription_key))
    
  2. Wyślij zapytanie wyszukiwania do interfejsu API wyszukiwania wiadomości i zapisz odpowiedź.

    news_result = client.news.search(query=search_term, market="en-us", count=10)
    

Analizowanie odpowiedzi

Jeśli zostaną zwrócone jakieś wyniki wyszukiwania, wydrukuj pierwszą stronę internetową wyników:

if news_result.value:
    first_news_result = news_result.value[0]
    print("Total estimated matches value: {}".format(
        news_result.total_estimated_matches))
    print("News result count: {}".format(len(news_result.value)))
    print("First news name: {}".format(first_news_result.name))
    print("First news url: {}".format(first_news_result.url))
    print("First news description: {}".format(first_news_result.description))
    print("First published time: {}".format(first_news_result.date_published))
    print("First news provider: {}".format(first_news_result.provider[0].name))
else:
    print("Didn't see any news result data..")

Następne kroki