Başlarken

İstemci kitaplığını Apache Maven veya Gradle ile kullanmanızı öneririz.

Yeni bir Maven/Gradle projesi oluşturma

Seçtiğiniz IDE'de yeni bir Maven veya Gradle projesi oluşturun. Yapılarımız Maven merkezi veri havuzunda yayınlanır.

Bağımlılık sürümlerini yönetmek için Google Ads API'nin Malzeme Listesi'ni (BOM) kullanmanızı öneririz. Bu, diğer çerçeveler tarafından da kullanılan Guava ve GAX gibi kitaplıklarla bağımlılık çakışmalarını önlemenin en iyi yoludur. BOM, bu bağımlılıkların Google Ads istemci kitaplığıyla test edilmiş olan sürümlerini kullanmanızı sağlar.

Maven bağımlılığı:

<!-- Import the Bill of Materials (BOM) to ensure you're using compatible
     versions of all google-ads libraries. -->
<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.google.api-ads</groupId>
      <artifactId>google-ads-bom</artifactId>
      <version>40.0.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

<!-- Add the google-ads dependency, without a version. The version is
     managed by the BOM. -->
<dependency>
  <groupId>com.google.api-ads</groupId>
  <artifactId>google-ads</artifactId>
</dependency>

Gradle bağımlılığı şöyledir:

// Import the Bill of Materials (BOM).
implementation platform('com.google.api-ads:google-ads-bom:40.0.0')

// Add the google-ads dependency, without a version.
implementation 'com.google.api-ads:google-ads'

Kaynaktan da derleyebilirsiniz. Bu kılavuzda, gerekli bağımlılıkların bulunduğu bir projenin kurulu olduğu varsayılmaktadır.

Kaynaktan derleme yapıyorsanız IDE'nizde ek açıklama işlemeyi etkinleştirdiğinizden emin olun.

BOM kapsamındaki bağımlılıkları bildirme

Google Ads API BOM; Guava, Protobuf, GAX ve gRPC gibi çeşitli yaygın kitaplıklar için sürüm yönetimini içerir. Olası bağımlılık çakışmalarını önlemek için, BOM'un kapsadığı bağımlılıkları bildirirken sürüm belirtmemelisiniz. BOM, bu kitaplıkların sürümlerini otomatik olarak yöneterek uyumluluğu sağlar.

Örneğin, Maven'de Guava bağımlılığını bildirmek için aşağıdakileri kullanın:

<dependency>
  <groupId>com.google.guava</groupId>
  <artifactId>guava</artifactId>
  <!-- NO VERSION SPECIFIED -->
</dependency>

Gradle'da ise:

implementation 'com.google.guava:guava' // NO VERSION SPECIFIED

Sürümü atlayarak BOM'un sürümü yönetmesine izin verirsiniz. Bu sayede, uyumsuz bağımlılık sürümlerinden kaynaklanan sorunlar önlenir. Bağımlılık çakışmalarının yaygın göstergeleri arasında NoSuchMethodError veya ClassNotFoundException bulunur. Bu sorunlar genellikle BOM tarafından yönetilen tüm bağımlılıkların sürümünün belirtilmediğinden emin olunarak çözülebilir.

API ile kimlik doğrulamak için kimlik bilgileri edinme

Google Ads API'ye erişmek için OAuth kimlik bilgileri ve Google Ads API geliştirici jetonu gerekir. Bu bölümde, bu verilerin ne olduğu, nasıl kullanıldığı ve nasıl elde edildiği açıklanmaktadır.

Geliştirici jetonu (API'ye erişim için)

Geliştirici jetonu bir yönetici hesabına bağlıdır ve Google Ads web arayüzünde bulunabilir.

Geliştirici jetonu bir yönetici hesabına bağlı olsa da bu hesaba erişim sağlamaz. Bunun yerine, geliştirici jetonu genel olarak API'ye erişim izni verir ve hesap düzeyinde erişim OAuth üzerinden yapılandırılır.

OAuth kimlik bilgileri (Google Ads hesaplarına erişim için)

Google Ads hesaplarına erişimi olan Google Hesabı kullanıcıları olarak yetkilendirmek için bir dizi OAuth kimlik bilgisi sağlamanız gerekir.

Genel olarak kullanılan iki OAuth akışı vardır: masaüstü (yüklü) uygulaması veya web uygulaması. İkisi arasındaki temel fark, masaüstü uygulamalarının sistem tarayıcısını açması ve Google'ın yetkilendirme sunucusundan gelen yanıtları işlemek için yerel bir yönlendirme URI'si sağlaması gerekirken web uygulamalarının yetkilendirmeyi tamamlamak için rastgele bir üçüncü taraf tarayıcısını yönlendirebilmesi ve kimlik bilgilerini sunucunuza geri gönderebilmesidir. Kitaplık, daha az kullanılan hizmet hesabı akışını da destekler.

Kendi kimlik bilgilerinizi kullanarak yetkilendiriyorsanız (masaüstü uygulaması akışı)
OAuth masaüstü uygulaması akışına bakın. Bu, kendi kimlik bilgilerinizle yetkilendirme için ihtiyacınız olan tüm ayrıntıları içerir.
Üçüncü taraf Google kullanıcısı olarak yetkilendiriyorsanız (web akışı)
OAuth web uygulaması akışına bakın. Bu belge, rastgele üçüncü taraf kullanıcıları için OAuth yetkilendirmesinin nasıl ayarlanacağına dair bir örnek sunar.
Google Apps alanı kullanıcısı olarak yetkilendirirseniz (hizmet hesabı akışı)
OAuth hizmet hesabı akışına bakın. Bu dokümanda, Google Apps alan kullanıcıları için OAuth yetkilendirmesinin nasıl ayarlanacağıyla ilgili bir örnek verilmektedir.

Google Ads müşteri hesabına erişiminiz bir Google Ads yönetici hesabı üzerinden sağlanıyorsa aşağıda açıklandığı gibi bir giriş müşteri kimliği de belirtmeniz gerekir.

Giriş müşteri kimliği (Google Ads hesaplarına yönetici hesabı üzerinden erişim için)

İsteğe bağlı olarak, reklam sunma hesabına erişim sağlayan bir yönetici hesabının müşteri kimliğini belirtin. Müşteri hesabına erişiminiz bir yönetici hesabı üzerinden sağlanıyorsa bu belirtilmelidir. Müşteri kimliğine giden yolda tüm yönetici hesaplarını belirtmeniz gerekmez. Yalnızca erişim izinleri için kullandığınız en üstteki yönetici kimliğini belirtmeniz yeterlidir. Daha fazla bilgi için ilgili belgelere bakın.

İstemci kitaplığını kimlik bilgilerinizle yapılandırma

İstemci kitaplığını bir yapılandırma dosyası, ortam değişkenleri veya programatik olarak yapılandırabilirsiniz. Bu kılavuzda, yapılandırma dosyası yaklaşımını kullanacak ve masaüstü ile web akışlarına odaklanacağız. Yalnızca bir kimlik bilgisi kümeniz varsa (ör. tek bir yönetici altındaki hesapları yönetiyorsanız) genellikle bir yapılandırma dosyası kullanmak iyi bir yaklaşımdır.

Aşağıdaki içeriğe sahip bir ~/ads.properties dosyası oluşturun:

api.googleads.clientId=INSERT_CLIENT_ID_HERE
api.googleads.clientSecret=INSERT_CLIENT_SECRET_HERE
api.googleads.refreshToken=INSERT_REFRESH_TOKEN_HERE
api.googleads.developerToken=INSERT_DEVELOPER_TOKEN_HERE

Yer tutucuları, önceki adımda aldığınız kimlik bilgilerinizle değiştirin.

Ayrıca, yenileme jetonunuz bir yönetici hesabına aitse bu hesabın müşteri kimliğini giriş müşterisi olarak belirtmeniz gerekir:

api.googleads.loginCustomerId=INSERT_LOGIN_CUSTOMER_ID_HERE

Kimlik bilgilerini doğrulama

Her şeyin doğru şekilde ayarlandığından emin olmak için GetCampaigns örneğini çalıştıracağız.

Öncelikle google-ads-examples dizinine gidin.

cd google-ads-examples

Bu örnekte, değerin tire işareti içermeyen Google Ads hesabı müşteri kimliğiniz olduğu bir --customerId parametresi gerekir.

Gradle ile çalıştırmak için:

./gradlew -q runExample --example="basicoperations.GetCampaigns --customerId INSERT_CUSTOMER_ID_HERE"

Diğer örnekleri inceleyin

google-ads-examples içindeki examples paketi, birkaç faydalı örnek içerir. Örneklerin çoğunda parametreler gereklidir. Parametreleri bağımsız değişken olarak iletebilir (önerilir) veya kaynak kodundaki INSERT_XXXXX_HERE değerlerini düzenleyebilirsiniz. Örnek için kullanım ifadesini görmek istiyorsanız tek bağımsız değişken olarak --help değerini iletin.

Gradle ile:

./gradlew -q runExample --example="basicoperations.GetCampaigns --help"

Tüm örnekleri, bir alt dizindeki örnekleri veya açıklamasında bir arama terimi bulunan örnekleri listelemek için Gradle'daki listExamples görevini de kullanabilirsiniz.

# List all examples:
./gradlew -q listExamples
# List examples in the 'basicoperations' subdirectory:
./gradlew -q listExamples --subdirectory='basicoperations'
# Search for examples where the description includes 'Performance Max':
./gradlew -q listExamples --searchTerm='Performance Max'