Share via


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

Wichtig

Es wird empfohlen, Java 11 oder höher zu verwenden. Die unterstützte Java-Mindestversion ist 1.8. Bei Verwendung von Version 1.8 müssen Sie CXF aus Ihren Abhängigkeiten ausklammern. 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 eine der exemplarischen Vorgehensweisen für eine Web - oder Desktopanwendung befolgen.

Sie benötigen Benutzeranmeldeinformationen mit Zugriff auf Microsoft Advertising entweder in der Produktion oder sandbox. Für die Produktionsumgebung benötigen Sie ein Produktionsentwicklertoken. Alle Sandboxclients 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 auch eine Anwendung registrieren und den entsprechenden Clientbezeichner abrufen. Sie müssen auch 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-Genehmigungsflow finden Sie unter Authentifizierung mit OAuth und Authentifizierung mit den SDKs. Obwohl Sie in der Produktion Ihre eigene Anwendungs-ID (eine Client-ID) verwenden müssen, können alle Microsoft Advertising-Kunden die öffentliche Client-ID "Tutorial-Beispiel-App" in der Sandbox verwenden, d. h. 4c0b021c-00c3-4508-838f-d3127e8167ff. 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 .

<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 SDK-Abhängigkeitsversion finden Sie im GitHub-README.md für das Bing Ads Java SDK.

Vorgehensweisen

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

Konfigurieren der Sandbox

Um die Sandboxumgebung zu verwenden, erstellen Sie eine neue Textdatei namens bingads.properties im Stammverzeichnis Des Projekts, z. B. ProjectName\src\bingads.properties , und fügen Sie den folgenden Text hinzu. Im Folgenden sind die vollständigen Inhalte der Datei bingads.properties aufgeführt . Wenn die Sandboxumgebungseinstellung falsch formatiert ist oder fehlt, ist die Standardumgebung die Produktionsumgebung.

environment=Sandbox

Sie können die Umgebung für jeden ServiceClient auch 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 auch die OAuth-Umgebung auf Sandbox festlegen.

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 empfehlen wir die Verwendung der HTTP-Standardclientimplementierung im Bing Ads Java SDK, das auf dem Apache CXF JAX-RS-Client basiert. Möglicherweise möchten Sie den HTTP-Client anpassen, um einige Features wie das Aktivieren der Komprimierung zu konfigurieren, wenn Sie eine andere JAX-RS-Implementierung verwenden, um HTTP-Timeout, Proxykonfiguration oder andere Einstellungen zu ändern.

Dazu können Sie ein benutzerdefiniertes HttpClientProvider Objekt erstellen und an übergeben, GlobalSettings.setHttpClientProvider() bevor Dienstaufrufe ausgeführt werden. 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);
    }
}); 

Protokollierungsdienstaufrufe

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

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

Standardmäßig verwendet das Bing Ads Java SDK Apache CXF, um Dienstaufrufe zu tätigen. Dies basiert zum Schreiben der Protokolle auf Simple Logging Facade für Java . 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
Codebeispiele für die Bing Ads-API
Adressen des Bing Ads-API-Webdiensts
Behandeln von Dienstfehlern und -ausnahmen
Sandbox