Erste Schritte bei der Verwendung von Java mit der Bing Ads-API

Wichtig

Es wird empfohlen, Java 11 oder höher zu verwenden. Die Mindestversion von Java, die wir unterstützen, ist 1.8. Sie müssen CXF aus Ihren Abhängigkeiten ausschließen, wenn Sie 1.8 verwenden. Sie können diese Beispieldatei mit Maven erstellen.

Um mit der Entwicklung von Bing Ads-API-Anwendungen mit Java zu beginnen, können Sie mit den bereitgestellten Beispielen beginnen oder einer der Anwendungs-Walkthroughs für eine Web - oder Desktopanwendung folgen.

Sie benötigen Benutzeranmeldeinformationen mit Zugriff auf Microsoft Advertising, entweder in der Produktion oder in der Sandbox. Für die Produktionsumgebung benötigen Sie einen Produktionsentwicklertoken. Alle Sandbox-Clients können das universelle Sandbox-Entwicklertoken verwenden, d. h. BBD37VB98. Weitere Informationen finden Sie unter Erste Schritte mit der Bing Ads-API und -Sandbox.

Für die Authentifizierung über OAuth müssen Sie außerdem eine Anwendung registrieren und die entsprechende Client-ID abrufen. Außerdem müssen Sie den geheimen Clientschlüssel und den Umleitungs-URI notieren, wenn Sie eine Webanwendung entwickeln. Weitere Informationen zum Registrieren einer Anwendung in der Produktion und zum Autorisierungscode-Erteilungsfluss finden Sie unter Authentifizierung mit OAuth und Authentifizierung mit den SDKs. Obwohl Sie in der Produktion Ihre eigene Anwendungs-ID (auch als Client-ID bezeichnet) verwenden müssen, können alle Microsoft Advertising-Kunden die öffentliche Client-ID "Tutorial Sample App" in der Sandbox verwenden, d. h. 00001111-aaaa-2222-bbbb-3333cccc4444. Weitere Informationen finden Sie unter Sandbox.

Das SDK installieren

Das Bing Ads Java SDK hängt von den Bibliotheken ab, die im Maven-Repository aufgeführt sind.

Wenn Sie ein Maven-Projekt erstellen und das Maven-Artefakt "microsoft.bingads" wie unten gezeigt einschließen, werden zusätzliche Abhängigkeiten automatisch installiert. Wenn Sie kein Maven-Projekt verwenden, müssen Sie die richtige Version jeder Abhängigkeit einschließen. Weitere Informationen finden Sie in den Anwendungsbeispielen Exemplarische Vorgehensweise: Bing Ads API-Webanwendung in Java oder Exemplarische Vorgehensweise: Bing Ads API-Desktopanwendung in Java-Anwendungsbeispielen.

<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>

Hinweis

Version 13.0.10 ist als Beispiel enthalten. Ausführliche Informationen zur neuesten Version der SDK-Abhängigkeit finden Sie im Bing Ads Java SDK GitHub README.md.

Vorgehensweisen

Nachdem Sie das Bing Ads Java SDK installiert haben, können Sie entweder die Bing Ads API-Codebeispiele durchsuchen, die Beispiele von GitHub herunterladen oder einer der Anwendungs-Walkthroughs für eine Web - oder Desktopanwendung folgen.

Konfigurieren der Sandbox

Um die Sandbox-Umgebung zu verwenden, erstellen Sie eine neue Textdatei mit dem Namen bingads.properties in Ihrem Stammverzeichnis der Projektquelle, z. B. Projektname\src\bingads.properties , und fügen Sie den folgenden Text hinzu. Im Folgenden finden Sie den vollständigen Inhalt der Datei bingads.properties . Wenn die Sandbox-Umgebungseinstellung falsch formatiert ist oder fehlt, ist die Standardumgebung Produktion.

environment=Sandbox

Sie können die Umgebung auch für jeden ServiceClient wie folgt einzeln festlegen.

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

Unabhängig davon, ob Sie die ServiceClient-Umgebung global oder einzeln festlegen, müssen Sie separat auch die OAuth-Umgebung auf Sandbox setzen.

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

Webanwendungen mit einem geheimen Clientschlüssel und einem benutzerdefinierten Umleitungs-URI sollten OAuthWebAuthCodeGrant wie folgt verwenden.

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

Protokollieren Sie die Anforderungs- und Antwortheader in der Konsole. TrackingId ist in den Antwortheadern enthalten.

MessageHandler.getInstance().setTraceOn(true);

Anpassen des HTTP-Clients

Für die meisten Anwendungen wird empfohlen, die standardmäßige HTTP-Clientimplementierung im Bing Ads Java SDK zu verwenden, die auf dem Apache CXF JAX-RS-Client basiert. Sie können den HTTP-Client anpassen, um einige Funktionen zu konfigurieren, z. B. das Aktivieren der Komprimierung, wenn Sie eine andere JAX-RS-Implementierung verwenden, um das HTTP-Timeout, die Proxykonfiguration oder andere Einstellungen zu ändern.

Dazu können Sie ein benutzerdefiniertes HttpClientProvider Objekt erstellen und an es übergeben, GlobalSettings.setHttpClientProvider() bevor Sie Dienstaufrufe tätigen. Zum Beispiel:

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

Protokollieren von Dienstaufrufen

Um die Protokollierung für Anforderungs- und Antwortnachrichten zu aktivieren, können Sie die com.sun.xml.ws.transport.http.client.HttpTransportPipe.dump Eigenschaft auf Folgendes setzen:true

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

Standardmäßig verwendet das Bing Ads Java SDK Apache CXF, um Dienstaufrufe durchzuführen, das sich zum Schreiben seiner Protokolle auf Simple Logging Facade for Java stützt. Um protokollierte Meldungen an die Konsole auszugeben, können Sie die slf4j-simple Implementierung zu Ihren Anwendungsabhängigkeiten hinzufügen. Zum Beispiel:

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

Siehe auch

Bing Ads API-Clientbibliotheken
Bing Ads API-Codebeispiele
Bing Ads API-Webdienstadressen
Behandeln von Dienstfehlern und Ausnahmen
Sandbox