Démarrage rapide : Utiliser la bibliothèque de client Recherche d’actualités Bing
Avertissement
Le 30 octobre 2020, les API de recherche Bing sont passées des services Azure AI aux services de recherche Bing. Cette documentation est fournie à des fins de référence uniquement. Pour accéder à la documentation mise à jour, consultez la documentation de l’API Recherche Bing. Pour obtenir des instructions sur la création de nouvelles ressources Azure pour Recherche Bing, consultez Créer une ressource Recherche Bing à l’aide de Place de marché Azure.
Utilisez ce guide de démarrage rapide pour démarrer une recherche d’actualités avec la bibliothèque de client Recherche d’actualités Bing pour C#. Si l’outil Recherche d’actualités Bing dispose d’une API REST compatible avec la plupart des langages de programmation, la bibliothèque de client offre quant à elle un moyen facile d’intégrer le service à vos applications. Le code source de cet exemple est disponible sur GitHub.
Prérequis
N’importe quelle édition de Visual Studio 2017 ou ultérieure.
Le framework Json.NET, disponible sous forme de package NuGet.
Si vous utilisez Linux/MacOS, cette application peut être exécutée à l’aide de Mono.
Le package NuGet du SDK Recherche d’actualités Bing. L’installation de ce package installe également les éléments suivants :
- Microsoft.Rest.ClientRuntime
- Microsoft.Rest.ClientRuntime.Azure
- Newtonsoft.Json
Pour configurer une application console à l’aide de la bibliothèque de client pour Recherche d’actualités Bing, accédez à l’option Manage NuGet Packages
à partir de l’Explorateur de solutions dans Visual Studio. Ajoutez le package Microsoft.Azure.CognitiveServices.Search.NewsSearch
.
Créer une ressource Azure
Commencez à utiliser l’API Recherche d’actualités Bing en créant une des ressources Azure suivantes :
- Disponible via le portail Azure jusqu’à ce que vous supprimiez la ressource.
- Utilisez le niveau tarifaire Gratuit pour tester le service, puis effectuez par la suite une mise à niveau vers un niveau payant pour la production.
- Disponible via le portail Azure jusqu’à ce que vous supprimiez la ressource.
- Utilisez la même clé et le même point de terminaison pour vos applications, sur plusieurs services Azure AI.
Créer et initialiser un projet
Créez une solution console en C# dans Visual Studio. Ajoutez ensuite les éléments suivants dans le fichier de code principal.
using System; using System.Linq; using Microsoft.Azure.CognitiveServices.Search.NewsSearch;
Créez une variable pour votre clé d’API et un terme de recherche, puis instanciez le client de recherche d’actualités.
var key = "YOUR-ACCESS-KEY"; var searchTerm = "Quantum Computing"; var client = new NewsSearchClient(new ApiKeyServiceClientCredentials(key));
Envoyer une requête, puis analyser le résultat
Utilisez le client pour envoyer une requête de recherche au service Recherche d’actualités Bing :
var newsResults = client.News.SearchAsync(query: searchTerm, market: "en-us", count: 10).Result;
Si des résultats sont retournés, analysez-les :
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();
Étapes suivantes
Utilisez ce guide de démarrage rapide pour démarrer une recherche d’actualités avec la bibliothèque de client Recherche d’actualités Bing pour Java. Si l’outil Recherche d’actualités Bing dispose d’une API REST compatible avec la plupart des langages de programmation, la bibliothèque de client offre quant à elle un moyen facile d’intégrer le service à vos applications. Le code source de cet exemple est disponible sur GitHub.
Prérequis
Installez les dépendances de bibliothèque de client Recherche d’actualités Bing en utilisant Maven, Gradle ou un autre système de gestion des dépendances. Le fichier POM Maven nécessite la déclaration suivante :
<dependencies>
<dependency>
<groupId>com.microsoft.azure.cognitiveservices</groupId>
<artifactId>azure-cognitiveservices-newssearch</artifactId>
<version>0.0.1-beta-SNAPSHOT</version>
</dependency>
</dependencies>
Créer une ressource Azure
Commencez à utiliser l’API Recherche d’actualités Bing en créant une des ressources Azure suivantes :
- Disponible via le portail Azure jusqu’à ce que vous supprimiez la ressource.
- Utilisez le niveau tarifaire Gratuit pour tester le service, puis effectuez par la suite une mise à niveau vers un niveau payant pour la production.
- Disponible via le portail Azure jusqu’à ce que vous supprimiez la ressource.
- Utilisez la même clé et le même point de terminaison pour vos applications, sur plusieurs services Azure AI.
Créer et initialiser un projet
Créez un projet Java dans votre éditeur ou IDE favori, puis importez les bibliothèques suivantes.
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;
Créer un client de recherche et stocker les informations d’identification
Créez une méthode appelée
getClient()
qui retourne un nouveau client de rechercheNewsSearchAPIImpl
. Ajoutez votre point de terminaison comme premier paramètre du nouvel objetNewsSearchAPIImpl
, et un nouvel objetServiceClientCredentials
pour le stockage de vos informations d’identification.public static NewsSearchAPIImpl getClient(final String subscriptionKey) { return new NewsSearchAPIImpl("https://api.cognitive.microsoft.com/bing/v7.0/", new ServiceClientCredentials() { }); }
Pour créer l’objet
ServiceClientCredentials
, substituez la fonctionapplyCredentialsFilter()
. Passez unOkHttpClient.Builder
à la méthode, puis utilisez la méthodeaddNetworkInterceptor()
du générateur pour créer les informations d’identification nécessaires à l’appel de la bibliothèque de client.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); } }); } });
Envoyer et recevoir une requête de recherche
Créez une méthode qui appelle
getClient()
et envoie une requête de recherche au service Recherche d’actualités Bing. Filtrez la recherche avec les paramètres market et count, puis affichez les informations relatives au premier résultat d’actualités : nom, URL, date de publication, description, nom du fournisseur et nombre total estimé de correspondances pour votre recherche.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!"); } }
Ajoutez votre méthode de recherche à une méthode
main()
pour exécuter le code.public static void main(String[] args) { String subscriptionKey = "YOUR-SUBSCRIPTION-KEY"; NewsSearchSDK.newsSearch(subscriptionKey); }
Étapes suivantes
Utilisez ce guide de démarrage rapide pour démarrer une recherche d’actualités avec la bibliothèque de client Recherche d’actualités Bing pour JavaScript. Si l’outil Recherche d’actualités Bing dispose d’une API REST compatible avec la plupart des langages de programmation, la bibliothèque de client offre quant à elle un moyen facile d’intégrer le service à vos applications. Le code source de cet exemple est disponible sur GitHub.
Prérequis
- La dernière version de Node.js.
- Le SDK Recherche d’actualités Bing pour JavaScript
- Pour l’installer, exécutez
npm install @azure/cognitiveservices-newssearch
- Pour l’installer, exécutez
- La classe
CognitiveServicesCredentials
du package@azure/ms-rest-azure-js
pour authentifier le client.- Pour l’installer, exécutez
npm install @azure/ms-rest-azure-js
- Pour l’installer, exécutez
Créer une ressource Azure
Commencez à utiliser l’API Recherche d’actualités Bing en créant une des ressources Azure suivantes :
- Disponible via le portail Azure jusqu’à ce que vous supprimiez la ressource.
- Utilisez le niveau tarifaire Gratuit pour tester le service, puis effectuez par la suite une mise à niveau vers un niveau payant pour la production.
- Disponible via le portail Azure jusqu’à ce que vous supprimiez la ressource.
- Utilisez la même clé et le même point de terminaison pour vos applications, sur plusieurs services Azure AI.
Créer et initialiser l’application
Créez une instance de
CognitiveServicesCredentials
. Créez des variables pour votre clé d’abonnement et un terme de recherche.const CognitiveServicesCredentials = require('@azure/ms-rest-azure-js').CognitiveServicesCredentials; let credentials = new CognitiveServicesCredentials('YOUR-ACCESS-KEY'); let search_term = 'Winter Olympics'
Instanciez le client :
const NewsSearchAPIClient = require('@azure/cognitiveservices-newssearch'); let client = new NewsSearchAPIClient(credentials);
Envoyer une requête de recherche
Utilisez le client pour rechercher un terme de requête, en l’occurrence « Winter Olympics » :
client.newsOperations.search(search_term).then((result) => { console.log(result.value); }).catch((err) => { throw err; });
Le code envoie les éléments result.value
à la console sans analyser le texte. Les résultats, le cas échéant par catégorie, incluent les éléments suivants :
_type: 'NewsArticle'
_type: 'WebPage'
_type: 'VideoObject'
_type: 'ImageObject'
Étapes suivantes
Utilisez ce guide de démarrage rapide pour démarrer une recherche d’actualités avec la bibliothèque de client Recherche d’actualités Bing pour Python. Si l’outil Recherche d’actualités Bing dispose d’une API REST compatible avec la plupart des langages de programmation, la bibliothèque de client offre quant à elle un moyen facile d’intégrer le service à vos applications. Le code source de cet exemple est disponible sur GitHub.
Prérequis
- Python 2.x ou 3.x
Il est recommandé d’utiliser un environnement virtuel pour votre développement Python. Vous pouvez installer et initialiser l’environnement virtuel avec le module venv. Vous devez installer un environnement virtuel pour Python 2.7. Vous pouvez créer un environnement virtuel avec :
python -m venv mytestenv
Vous pouvez installer les dépendances de la bibliothèque de client Recherche d’actualités Bing à l’aide de cette commande :
python -m pip install azure-cognitiveservices-search-newssearch
Créer une ressource Azure
Commencez à utiliser l’API Recherche d’actualités Bing en créant une des ressources Azure suivantes :
- Disponible via le portail Azure jusqu’à ce que vous supprimiez la ressource.
- Utilisez le niveau tarifaire Gratuit pour tester le service, puis effectuez par la suite une mise à niveau vers un niveau payant pour la production.
- Disponible via le portail Azure jusqu’à ce que vous supprimiez la ressource.
- Utilisez la même clé et le même point de terminaison pour vos applications, sur plusieurs services Azure AI.
Créer et initialiser l’application
Créez un fichier Python dans votre éditeur ou IDE favori, puis importez les bibliothèques suivantes. Créez une variable pour votre clé d’abonnement ainsi qu’un terme de recherche.
from azure.cognitiveservices.search.newssearch import NewsSearchClient from msrest.authentication import CognitiveServicesCredentials subscription_key = "YOUR-SUBSCRIPTION-KEY" endpoint = "YOUR-ENDPOINT" search_term = "Quantum Computing"
Initialiser le client et envoyer une requête
Créez une instance de
CognitiveServicesCredentials
.client = NewsSearchClient(endpoint=endpoint, credentials=CognitiveServicesCredentials(subscription_key))
Envoyez une requête de recherche à l’API Recherche d’actualités et stockez la réponse.
news_result = client.news.search(query=search_term, market="en-us", count=10)
Analyser la réponse
Si des résultats sont retournés, affichez le premier résultat de la page web :
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..")