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 true
festlegen:
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