Quickstart: De Bing News Search-clientbibliotheek gebruiken

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-documentatie voor zoeken-API voor bijgewerkte documentatie. Zie Een Zoeken in Bing-resource maken via de Azure Marketplace voor instructies over het maken van nieuwe Azure-resources voor Bing Search.

Gebruik deze quickstart om nieuws te zoeken met de Bing News Search-clientbibliotheek voor C#. Hoewel Bing News Search een REST API heeft die compatibel is met de meeste programmeertalen, biedt de clientbibliotheek een eenvoudige manier om de service in uw toepassingen te integreren. De broncode voor dit voorbeeld is te vinden op GitHub.

Vereisten

Als u een consoletoepassing wilt instellen met behulp van de Bing News Search-clientbibliotheek, gaat u naar de optie Manage NuGet Packages van Solution Explorer in Visual Studio. Voeg het pakket Microsoft.Azure.CognitiveServices.Search.NewsSearch toe.

Een Azure-resource maken

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

Bing Search v7-resource

  • 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.

Een project maken en initialiseren

  1. Maak een nieuwe C#-console-oplossing in Visual Studio. Voeg vervolgens de volgende code in het hoofdcodebestand in.

    using System;
    using System.Linq;
    using Microsoft.Azure.CognitiveServices.Search.NewsSearch;
    
  2. Maak een variabele voor uw API-sleutel en een zoekterm en maak hiermee daarna een exemplaar van de client voor Nieuws zoeken.

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

Een aanvraag verzenden en het resultaat parseren

  1. Gebruik de client om een zoekaanvraag te verzenden naar de service voor Bing Nieuws zoeken:

    var newsResults = client.News.SearchAsync(query: searchTerm, market: "en-us", count: 10).Result;
    
  2. Als er resultaten worden geretourneerd, parseert u deze:

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

Volgende stappen

Gebruik deze quickstart om aan de slag te gaan met de Bing News Search-clientbibliotheek voor Java om nieuws te zoeken. Hoewel Bing News Search een REST API heeft die compatibel is met de meeste programmeertalen, biedt de clientbibliotheek een eenvoudige manier om de service in uw toepassingen te integreren. De broncode voor dit voorbeeld is te vinden op GitHub.

Vereisten

Installeer de afhankelijkheden van de Bing News Search-clientbibliotheek met behulp van Maven, Gradle of een ander systeem voor afhankelijkheidsbeheer. Het Maven-POM-bestand vereist de volgende declaratie:

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

Een Azure-resource maken

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

Bing Search v7-resource

  • 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.

Een project maken en initialiseren

Maak een nieuw Java-project in uw favoriete IDE of editor en importeer de volgende bibliotheken.

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;

Een zoekclient maken en referenties opslaan

  1. Maak een methode met de naam getClient() die een nieuwe NewsSearchAPIImpl-zoekclient retourneert. Voeg uw eindpunt toe als de eerste parameter voor het nieuwe NewsSearchAPIImpl-object, en een nieuw ServiceClientCredentials-object om uw referenties op te slaan.

    public static NewsSearchAPIImpl getClient(final String subscriptionKey) {
        return new NewsSearchAPIImpl("https://api.cognitive.microsoft.com/bing/v7.0/",
                new ServiceClientCredentials() {
                });
    }
    
  2. Overschrijf de applyCredentialsFilter()-functie om het ServiceClientCredentials-object te maken. Geef een OkHttpClient.Builder door aan de methode en gebruik de addNetworkInterceptor()-methode van de opbouwfunctie voor het maken van uw referenties voor de aanroep van de clientbibliotheek.

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

Een zoekaanvraag verzenden en ontvangen

  1. Maak een methode die getClient() aanroept en een zoekopdracht verzendt naar de Bing News Search-service. Filter de zoekopdracht met de parameters market en count, en geef informatie weer over het eerste nieuwsresultaat van uw zoekopdracht: naam, URL, publicatiedatum, beschrijving, providernaam en geschat totaal aantal overeenkomsten.

    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. Voeg uw zoekmethode toe aan een main()-methode om de code uit te voeren.

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

Volgende stappen

Gebruik deze quickstart om aan de slag te gaan met de Bing News Search-clientbibliotheek voor Java om nieuws te zoeken. Hoewel Bing News Search een REST API heeft die compatibel is met de meeste programmeertalen, biedt de clientbibliotheek een eenvoudige manier om de service in uw toepassingen te integreren. De broncode voor dit voorbeeld is te vinden op GitHub.

Vereisten

  • Nieuwste versie van Node.js.
  • De Bing News Search-SDK voor JavaScript
    • Voer npm install @azure/cognitiveservices-newssearch uit om deze te installeren
  • De klasse CognitiveServicesCredentials van het pakket @azure/ms-rest-azure-js om de client te verifiëren.
    • Voer npm install @azure/ms-rest-azure-js uit om deze te installeren

Een Azure-resource maken

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

Bing Search v7-resource

  • 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 een instantie van de CognitiveServicesCredentials. Maak variabelen voor uw abonnementssleutel en zoekterm.

    const CognitiveServicesCredentials = require('@azure/ms-rest-azure-js').CognitiveServicesCredentials;
    let credentials = new CognitiveServicesCredentials('YOUR-ACCESS-KEY');
    let search_term = 'Winter Olympics'
    
  2. Maak een instantie van de client:

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

Een zoekquery verzenden

  1. Gebruik de client om te zoeken met een queryterm, in dit geval 'Winter Olympics':

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

De code geeft result.value items weer in de console zonder tekst te parseren. De resultaten, indien van toepassing per categorie, omvatten:

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

Volgende stappen

Gebruik deze quickstart om aan de slag te gaan met de Bing News Search-clientbibliotheek voor Python om nieuws te zoeken. Hoewel Bing News Search een REST API heeft die compatibel is met de meeste programmeertalen, biedt de clientbibliotheek een eenvoudige manier om de service in uw toepassingen te integreren. De broncode voor dit voorbeeld is te vinden op GitHub.

Vereisten

Het wordt aanbevolen om een virtuele omgeving te gebruiken voor uw Python-ontwikkeling. U kunt de virtuele omgeving installeren en initialiseren met de venv-module. U moet een virtualenv voor Python 2.7 installeren. U kunt een virtuele omgeving maken met:

python -m venv mytestenv

U kunt de afhankelijkheden van de Bing News Search-clientbibliotheek installeren met deze opdracht:

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

Een Azure-resource maken

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

Bing Search v7-resource

  • 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 een nieuw Python-bestand in uw favoriete IDE of editor en importeer de volgende bibliotheken. Maak een variabele voor uw abonnementssleutel en een voor uw zoekterm.

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

De client initialiseren en een aanvraag verzenden

  1. Maak een instantie van CognitiveServicesCredentials.

    client = NewsSearchClient(endpoint=endpoint, credentials=CognitiveServicesCredentials(subscription_key))
    
  2. Verzend een zoekquery naar de Nieuws zoeken-API en sla het antwoord op.

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

Het antwoord parseren

Als er zoekresultaten worden gevonden, geef dan het eerste webpaginaresultaat weer:

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..")

Volgende stappen