Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 uniquement pour référence. Pour obtenir la documentation mise à jour, consultez la documentation de l’API recherche Bing. Pour obtenir des instructions sur la création de ressources Azure pour la recherche Bing, consultez Créer une ressource Recherche Bing via la Place de marché Azure.
Utilisez ce guide de démarrage rapide pour effectuer votre premier appel à l’API Recherche visuelle Bing. Cette application Java charge une image dans l’API et affiche les informations qu’elle retourne. Bien que cette application soit écrite en Java, l’API est un service web RESTful compatible avec la plupart des langages de programmation.
Conditions préalables
- Kit de développement Java (JDK) 7 ou 8
- La bibliothèque Gson Java
- Apache HttpComponents
Créer une ressource Azure
Commencez à utiliser l’API Recherche visuelle Bing en créant l’une des ressources Azure suivantes :
- Disponible via le portail Azure jusqu’à ce que vous supprimiez la ressource.
- Sélectionnez le niveau tarifaire
S9
.
- 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 IDE ou éditeur favori, puis importez les bibliothèques suivantes :
import java.util.*; import java.io.*; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.JsonObject; import com.google.gson.JsonParser; // HttpClient libraries import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.ContentType; import org.apache.http.entity.mime.MultipartEntityBuilder; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClientBuilder;
Créez des variables pour votre point de terminaison d’API, votre clé d’abonnement et le chemin d’accès à votre image. Pour la
endpoint
valeur, vous pouvez utiliser le point de terminaison global dans le code suivant ou utiliser le point de terminaison de sous-domaine personnalisé affiché dans le portail Azure pour votre ressource.static String endpoint = "https://api.cognitive.microsoft.com/bing/v7.0/images/visualsearch"; static String subscriptionKey = "your-key-here"; static String imagePath = "path-to-your-image";
Lorsque vous chargez une image locale, les données de formulaire doivent inclure l’en-tête
Content-Disposition
. Définissez sonname
paramètre sur « image », puis définissez lefilename
paramètre sur le nom de fichier de l’image. Le contenu du formulaire inclut les données binaires de l’image. La taille maximale de l’image que vous pouvez charger est de 1 Mo.--boundary_1234-abcd Content-Disposition: form-data; name="image"; filename="myimagefile.jpg" ÿØÿà JFIF ÖÆ68g-¤CWŸþ29ÌÄøÖ‘º«™æ±èuZiÀ)"óÓß°Î= ØJ9á+*G¦... --boundary_1234-abcd--
Créer l’analyseur JSON
Créez une méthode pour rendre la réponse JSON de l’API plus lisible en utilisant JsonParser
.
public static String prettify(String json_text) {
JsonParser parser = new JsonParser();
JsonObject json = parser.parse(json_text).getAsJsonObject();
Gson gson = new GsonBuilder().setPrettyPrinting().create();
return gson.toJson(json);
}
Élaborer la demande de recherche et la requête
Dans la méthode principale de votre application, créez un client HTTP à l’aide
HttpClientBuilder.create().build();
de .CloseableHttpClient httpClient = HttpClientBuilder.create().build();
Créez un
HttpEntity
objet pour charger votre image dans l’API.HttpEntity entity = MultipartEntityBuilder .create() .addBinaryBody("image", new File(imagePath)) .build();
Créez un
httpPost
objet avec votre point de terminaison et définissez l’en-tête pour utiliser votre clé d’abonnement.HttpPost httpPost = new HttpPost(endpoint); httpPost.setHeader("Ocp-Apim-Subscription-Key", subscriptionKey); httpPost.setEntity(entity);
Recevoir et traiter la réponse JSON
Utilisez la
HttpClient.execute()
méthode pour envoyer une requête à l’API et stocker la réponse dans unInputStream
objet.HttpResponse response = httpClient.execute(httpPost); InputStream stream = response.getEntity().getContent();
Stockez la chaîne JSON et imprimez la réponse.
String json = new Scanner(stream).useDelimiter("\\A").next(); System.out.println("\nJSON Response:\n"); System.out.println(prettify(json));