Partager via


Prise en main de Java avec l’API Bing Ads

Importante

Nous vous recommandons d’utiliser Java 11 ou version ultérieure. La version minimale de Java que nous prenons en charge est 1.8. Vous devez exclure CXF de vos dépendances lors de l’utilisation de la version 1.8. Vous pouvez générer cet exemple de fichier avec Maven.

Pour commencer à développer des applications API Bing Ads avec Java, vous pouvez commencer avec les exemples fournis ou suivre l’une des procédures pas à pas pour une application web ou de bureau .

Vous aurez besoin d’informations d’identification utilisateur ayant accès à Microsoft Advertising en production ou en bac à sable. Pour l’environnement de production, vous aurez besoin d’un jeton de développeur de production. Tous les clients de bac à sable peuvent utiliser le jeton de développeur de bac à sable universel, c’est-à-dire BBD37VB98. Pour plus d’informations, consultez Prise en main de l’API Bing Ads et du bac à sable.

Pour vous authentifier via OAuth, vous devez également inscrire une application et obtenir l’identificateur client correspondant. Vous devez également prendre note de la clé secrète client et de l’URI de redirection si vous développez une application web. Pour plus d’informations sur l’inscription d’une application en production et sur le flux d’octroi du code d’autorisation, consultez Authentification avec OAuth et Authentification avec les KITS de développement logiciel (SDK). Bien qu’en production, vous deviez utiliser votre propre ID d’application (également nommé ID client), tous les clients Microsoft Advertising peuvent utiliser l’ID client public « Tutorial Sample App » dans le bac à sable, c’est-à-dire 4c0b021c-00c3-4508-838f-d3127e8167ff. Pour plus d’informations, consultez Bac à sable.

Installer le kit de développement logiciel (SDK)

Le Kit de développement logiciel (SDK) Java Bing Ads dépend des bibliothèques répertoriées dans le référentiel Maven.

Lorsque vous créez un projet Maven et incluez l’artefact Maven microsoft.bingads comme indiqué ci-dessous, des dépendances supplémentaires sont installées automatiquement. Si vous n’utilisez pas de projet Maven, vous devez inclure la version correcte de chaque dépendance. Pour plus d’informations, consultez les exemples Procédure pas à pas : application web API Bing Ads en Java ou Procédure pas à pas : application de bureau API Bing Ads dans Java .

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  ...
  <dependencies>
    <dependency>
      <groupId>com.microsoft.bingads</groupId>
      <artifactId>microsoft.bingads</artifactId>
      <version>13.0.10</version>
    </dependency>
  </dependencies>
</project>

Remarque

La version 13.0.10 est incluse à titre d’exemple. Pour plus d’informations sur la dernière version de dépendance du KIT de développement logiciel (SDK), consultez la README.md GitHub du Kit de développement logiciel (SDK) Java Bing Ads.

Procédures pas à pas

Une fois que vous avez installé le Kit de développement logiciel (SDK) Java Bing Ads, vous pouvez parcourir les exemples de code de l’API Bing Ads, télécharger les exemples à partir de GitHub ou suivre l’une des procédures pas à pas pour une application web ou de bureau .

Configuration du bac à sable

Pour utiliser l’environnement sandbox , créez un fichier texte nommé bingads.properties dans le répertoire racine source de votre projet, par exemple Nom_projet\src\bingads.properties , puis ajoutez le texte suivant. Voici le contenu complet du fichier bingads.properties . Si le paramètre d’environnement de bac à sable est incorrect ou manquant, l’environnement par défaut est de production.

environment=Sandbox

Vous pouvez également définir l’environnement pour chaque ServiceClient individuellement comme suit.

CustomerService = new ServiceClient<ICustomerManagementService>(
    authorizationData,
    ApiEnvironment.SANDBOX,
    ICustomerManagementService.class
);

Que vous définissiez l’environnement ServiceClient globalement ou individuellement, vous devez également définir l’environnement OAuth sur bac à sable.

final OAuthDesktopMobileAuthCodeGrant oAuthDesktopMobileAuthCodeGrant = new OAuthDesktopMobileAuthCodeGrant(
    ClientId, 
    ApiEnvironment.SANDBOX
);

Les applications web avec une clé secrète client et un URI de redirection personnalisé doivent utiliser OAuthWebAuthCodeGrant comme suit.

OAuthWebAuthCodeGrant oAuthWebAuthCodeGrant = new OAuthWebAuthCodeGrant(
    ClientId, 
    ClientSecret, 
    new URL(RedirectUri),
    ApiEnvironment.SANDBOX
);

Journaliser les en-têtes de demande et de réponse dans la console. TrackingId est inclus dans les en-têtes de réponse.

MessageHandler.getInstance().setTraceOn(true);

Personnalisation du client HTTP

Pour la plupart des applications, nous vous recommandons d’utiliser l’implémentation du client HTTP par défaut dans le Kit de développement logiciel (SDK) Java Bing Ads, qui s’appuie sur le client Apache CXF JAX-RS. Vous pouvez personnaliser le client HTTP pour configurer certaines fonctionnalités, telles que l’activation de la compression si vous utilisez une implémentation JAX-RS différente, pour modifier le délai d’expiration HTTP, la configuration du proxy ou d’autres paramètres.

Pour ce faire, vous pouvez créer un objet personnalisé HttpClientProvider et le passer à GlobalSettings.setHttpClientProvider() avant d’effectuer des appels de service. Par exemple :

GlobalSettings.setHttpClientProvider(new HttpClientProvider() 
{ 
    @Override 
    protected ClientBuilder configureClientBuilder(ClientBuilder clientBuilder) { 
        return super.configureClientBuilder(clientBuilder) 
            // override default connect timeout 
            .connectTimeout(90, TimeUnit.SECONDS)
            // override default read timeout
            .readTimeout(5, TimeUnit.MINUTES) 
            // enable compression (if using Jersey client)
            .register(org.glassfish.jersey.message.GZipEncoder.class)
            .register(org.glassfish.jersey.client.filter.EncodingFilter.class);
    }
}); 

Journalisation des appels de service

Pour activer la journalisation des messages de demande et de réponse, vous pouvez définir la propriété sur com.sun.xml.ws.transport.http.client.HttpTransportPipe.dumptrue:

System.setProperty("com.sun.xml.ws.transport.http.client.HttpTransportPipe.dump", "true");

Par défaut, le Kit de développement logiciel (SDK) Java Bing Ads utilise Apache CXF pour effectuer des appels de service, qui s’appuie sur Simple Logging Façade pour Java pour écrire ses journaux. Pour générer des messages journalisés dans la console, vous pouvez ajouter l’implémentation slf4j-simple à vos dépendances d’application. Par exemple :

<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-simple</artifactId> 
    <version>2.0.12</version> 
</dependency> 

Voir aussi

Bibliothèques clientes de l’API Bing Ads
Exemples de code de l’API Bing Ads
Adresses du service web de l’API Bing Ads
Gestion des erreurs et des exceptions de service
Bac à sable