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
Een versie van Visual Studio 2017 of hoger.
Het Json.NET-framework, beschikbaar als NuGet-pakket.
Als u Linux/MacOS gebruikt, kan deze toepassing worden uitgevoerd met behulp van Mono.
Het NuGet-pakket voor de Bing Nieuws zoeken SDK. Als u dit pakket installeert, worden ook de volgende onderdelen geïnstalleerd:
- Microsoft.Rest.ClientRuntime
- Microsoft.Rest.ClientRuntime.Azure
- Newtonsoft.Json
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:
- 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 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;
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
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;
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:
- 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
Maak een methode met de naam
getClient()
die een nieuweNewsSearchAPIImpl
-zoekclient retourneert. Voeg uw eindpunt toe als de eerste parameter voor het nieuweNewsSearchAPIImpl
-object, en een nieuwServiceClientCredentials
-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() { }); }
Overschrijf de
applyCredentialsFilter()
-functie om hetServiceClientCredentials
-object te maken. Geef eenOkHttpClient.Builder
door aan de methode en gebruik deaddNetworkInterceptor()
-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
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!"); } }
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
- Voer
- 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
- Voer
Een Azure-resource maken
Begin met het gebruik van de Bing News Search-API door een van de volgende Azure-resources te maken:
- 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
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'
Maak een instantie van de client:
const NewsSearchAPIClient = require('@azure/cognitiveservices-newssearch'); let client = new NewsSearchAPIClient(credentials);
Een zoekquery verzenden
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
- Python 2.x of 3.x
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:
- 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
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
Maak een instantie van
CognitiveServicesCredentials
.client = NewsSearchClient(endpoint=endpoint, credentials=CognitiveServicesCredentials(subscription_key))
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..")