Introduzione all'uso di Java con Bing Ads API

Importante

È consigliabile usare Java 11 o versione successiva. La versione minima di Java supportata è 1.8. È necessario eliminare CXF dalle dipendenze quando si usa la versione 1.8. È possibile compilare questo file di esempio con Maven.

Per iniziare a sviluppare applicazioni API Bing Ads con Java, è possibile iniziare con gli esempi forniti o seguire una delle procedure dettagliate per un'applicazione Web o desktop .

Saranno necessarie credenziali utente con accesso a Microsoft Advertising in ambiente di produzione o sandbox. Per l'ambiente di produzione è necessario un token per sviluppatori di produzione. Tutti i client sandbox possono usare il token per sviluppatori sandbox universale, ad esempio BBD37VB98. Per altre informazioni, vedere Introduzione all'API Bing Ads e alla sandbox.

Per eseguire l'autenticazione tramite OAuth, è anche necessario registrare un'applicazione e ottenere l'identificatore client corrispondente. È anche necessario prendere nota del segreto client e dell'URI di reindirizzamento se si sviluppa un'applicazione Web. Per altre informazioni sulla registrazione di un'applicazione nell'ambiente di produzione e sul flusso di concessione del codice di autorizzazione, vedere Autenticazione con OAuth e Autenticazione con gli SDK. Anche se nell'ambiente di produzione è necessario usare il proprio ID applicazione (ovvero l'ID client), tutti i clienti di Microsoft Advertising possono usare l'ID client "Tutorial Sample App" pubblico nella sandbox, ad esempio 00001111-aaaa-2222-bbbb-3333cccc444444. Per altre informazioni, vedere Sandbox.

Installare l'SDK

Il Bing Ads Java SDK dipende dalle librerie elencate nel repository Maven.

Quando si crea un progetto Maven e si include l'artefatto Maven microsoft.bingads come illustrato di seguito, vengono installate automaticamente altre dipendenze. Se non si usa un progetto Maven, è necessario includere la versione corretta di ogni dipendenza. Per altre informazioni, vedere gli esempi di procedura dettagliata: applicazione Web api Bing Ads in Java o Procedura dettagliata: Bing Ads applicazione desktop API in Applicazioni 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>

Nota

La versione 13.0.10 è inclusa come esempio. Per informazioni dettagliate sulla versione più recente delle dipendenze dell'SDK, vedere il README.md Bing Ads Java SDK GitHub.

Procedure dettagliate

Dopo aver installato il Bing Ads Java SDK , è possibile esplorare gli esempi di codice API Bing Ads, scaricare gli esempi da GitHub o seguire una delle procedure dettagliate per un'applicazione Web o desktop .

Configurazione della sandbox

Per usare l'ambiente Sandbox , creare un nuovo file di testo denominato bingads.properties all'interno della directory radice di origine del progetto, ad esempio NomeProgetto\src\bingads.properties e aggiungere il testo seguente. Di seguito sono riportati i contenuti completi del file bingads.properties . Se l'impostazione dell'ambiente sandbox non è valida o mancante, l'ambiente predefinito è production.

environment=Sandbox

È anche possibile impostare l'ambiente per ogni ServiceClient singolarmente come indicato di seguito.

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

Sia che si imposti l'ambiente ServiceClient a livello globale o singolarmente, separatamente è anche necessario impostare l'ambiente OAuth su sandbox.

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

Le applicazioni Web con un segreto client e un URI di reindirizzamento personalizzato devono usare OAuthWebAuthCodeGrant come indicato di seguito.

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

Registrare le intestazioni di richiesta e risposta nella console. TrackingId è incluso nelle intestazioni della risposta.

MessageHandler.getInstance().setTraceOn(true);

Personalizzazione del client HTTP

Per la maggior parte delle applicazioni, è consigliabile usare l'implementazione client HTTP predefinita nel Bing Ads Java SDK, che si basa sul client APACHE CXF JAX-RS. È possibile personalizzare il client HTTP per configurare alcune funzionalità, ad esempio l'abilitazione della compressione se si usa un'implementazione JAX-RS diversa, per modificare il timeout HTTP, la configurazione del proxy o altre impostazioni.

A tale scopo, è possibile creare un oggetto personalizzato HttpClientProvider e passarlo a prima di effettuare chiamate al GlobalSettings.setHttpClientProvider() servizio. Ad esempio:

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

Registrazione delle chiamate al servizio

Per abilitare la registrazione per i messaggi di richiesta e risposta, è possibile impostare la proprietà su com.sun.xml.ws.transport.http.client.HttpTransportPipe.dumptrue:

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

Per impostazione predefinita, Bing Ads Java SDK usa Apache CXF per effettuare chiamate al servizio, che si basa su Simple Logging Facade for Java per la scrittura dei log. Per restituire i messaggi registrati nella console, è possibile aggiungere l'implementazione slf4j-simple alle dipendenze dell'applicazione. Ad esempio:

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

Vedere anche

librerie client dell'API Bing Ads
Esempi di codice API Bing Ads
indirizzi del servizio Web API Bing Ads
Gestione di errori ed eccezioni del servizio
Sandbox