Aracılığıyla paylaş


Bing Ads API'siyle Java Kullanmaya Başlama

Önemli

Java 11 veya sonraki bir sürümü kullanmanızı öneririz. Desteklediğimiz en düşük Java sürümü 1.8'dir. 1.8 kullanırken CXF'yi bağımlılıklarınızdan çıkarmanız gerekir. Bu örnek dosyayı Maven ile oluşturabilirsiniz.

Java ile Bing Ads API uygulamaları geliştirmeye başlamak için sağlanan örneklerle başlayabilir veya Web veya Masaüstü uygulaması için uygulama kılavuzlarından birini izleyebilirsiniz.

Üretim veya korumalı alanda Microsoft Advertising erişimine sahip kullanıcı kimlik bilgilerine ihtiyacınız olacaktır. Üretim ortamı için bir üretim geliştirici belirteci gerekir. Tüm korumalı alan istemcileri evrensel korumalı alan geliştirici belirtecini BBD37VB98 kullanabilir. Daha fazla bilgi için bkz. Bing Ads API'sini ve Korumalı Alanı Kullanmaya Başlama.

OAuth aracılığıyla kimlik doğrulaması yapmak için bir uygulamayı kaydetmeniz ve ilgili istemci tanımlayıcısını almanız gerekir. Ayrıca bir web uygulaması geliştiriyorsanız istemci gizli dizisini ve yeniden yönlendirme URI'sini de not almanız gerekir. Bir uygulamayı üretime kaydetme ve yetkilendirme kodu verme akışı hakkında daha fazla bilgi için bkz. OAuth ile Kimlik Doğrulaması ve SDK'larla Kimlik Doğrulaması. Üretimde kendi uygulama kimliğinizi (istemci kimliği) kullanmanız gerekse de, tüm Microsoft Advertising müşterileri korumalı alanda genel "Öğretici Örnek Uygulama" istemci kimliğini kullanabilir; örneğin, 4c0b021c-00c3-4508-838f-d3127e8167ff. Daha fazla bilgi için bkz. Korumalı Alan.

SDK'yi yükleme

Bing Ads Java SDK'sıMaven Deposu'nda listelenen kitaplıklara bağlıdır.

Bir Maven projesi oluşturduğunuzda ve aşağıda gösterildiği gibi microsoft.bingads Maven yapıtını eklediğinizde, ek bağımlılıklar otomatik olarak yüklenir. Maven projesi kullanmıyorsanız, her bağımlılığın doğru sürümünü eklemeniz gerekir. Daha fazla bilgi için bkz . Java'da İzlenecek Yol: Bing Ads API Web Uygulaması veya Java uygulamasında İzlenecek Yol: Bing Ads API Masaüstü Uygulaması örnekleri.

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

Not

Örnek olarak sürüm 13.0.10 eklenmiştir. En son SDK bağımlılık sürümü hakkında ayrıntılı bilgi için bkz. Bing Ads Java SDK GitHub README.md.

Walkthroughs

Bing Ads Java SDK'sını yükledikten sonra Bing Ads API'si Kod Örnekleri'ne göz atabilir, GitHub'dan örnekleri indirebilir veya Web veya Masaüstü uygulaması için uygulama kılavuzlarından birini izleyebilirsiniz.

Korumalı Alanı Yapılandırma

Korumalı Alan ortamını kullanmak için proje kaynağı kök dizininizde bingads.properties adlı yeni bir metin dosyası oluşturun( örneğin, ProjectName\src\bingads.properties) ve aşağıdaki metni ekleyin. Bingads.properties dosyasının tüm içeriği aşağıdadır. Korumalı alan ortamı ayarı hatalı biçimlendirilmiş veya eksikse, varsayılan ortam üretimdir.

environment=Sandbox

Ayrıca her ServiceClient için ortamı aşağıdaki gibi ayrı ayrı ayarlayabilirsiniz.

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

ServiceClient ortamını ister genel olarak ister tek tek ayarlayın, ayrı ayrı OAuth ortamını korumalı alan olarak ayarlamanız gerekir.

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

İstemci gizli dizisi ve özel yeniden yönlendirme URI'sine sahip web uygulamaları aşağıdaki gibi OAuthWebAuthCodeGrant kullanmalıdır.

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

konsolda istek ve yanıt üst bilgilerini günlüğe kaydetme. TrackingId , yanıt üst bilgilerine eklenir.

MessageHandler.getInstance().setTraceOn(true);

HTTP istemcisini özelleştirme

Çoğu uygulama için, Apache CXF JAX-RS istemcisini kullanan Bing Ads Java SDK'sında varsayılan HTTP istemci uygulamasını kullanmanızı öneririz. HTTP zaman aşımı, ara sunucu yapılandırması veya diğer ayarları değiştirmek için farklı bir JAX-RS uygulaması kullanıyorsanız sıkıştırmayı etkinleştirme gibi bazı özellikleri yapılandırmak için HTTP istemcisini özelleştirmek isteyebilirsiniz.

Bunu yapmak için özel HttpClientProvider bir nesne oluşturabilir ve hizmet çağrıları yapmadan önce bunu 'a GlobalSettings.setHttpClientProvider() geçirebilirsiniz. Örneğin:

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

Hizmet çağrılarını günlüğe kaydetme

İstek ve yanıt iletileri için günlüğe kaydetmeyi com.sun.xml.ws.transport.http.client.HttpTransportPipe.dump etkinleştirmek için özelliğini olarak trueayarlayabilirsiniz:

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

Varsayılan olarak, Bing Ads Java SDK'sı hizmet çağrıları yapmak için Apache CXF kullanır ve bu da günlüklerini yazmak için Java için Basit Günlüğe Kaydetme Cephesi'ni kullanır. Günlüğe kaydedilen iletileri konsola çıkarmak için uygulamayı uygulama bağımlılıklarınıza ekleyebilirsiniz slf4j-simple . Örneğin:

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

Ayrıca Bkz

Bing Ads API İstemci Kitaplıkları
Bing Ads API Kod Örnekleri
Bing Ads API Web Hizmeti Adresleri
Hizmet Hatalarını ve Özel Durumlarını İşleme
Sandbox