Python'da API'yi kullanmak için gereken tüm çeşitli proto sınıflarına referansları getirmek ayrıntılı olabilir. Bu süreçte, API'yi temel olarak anlamanız veya proto'lara ya da belgelere referans vermek için sıklıkla bağlam geçişi yapmanız gerekir.
İstemcinin get_service
ve get_type
yöntemleri
Bu iki alıcı yöntemi, API'de herhangi bir hizmet veya tür nesnesini almanıza olanak tanır. Hizmet istemcilerini almak için get_service
yöntemi kullanılır. get_type
diğer nesneler için kullanılır. Hizmet istemcisi sınıfları, kodda google/ads/googleads/v*/services/services/
sürüm yolu altında ve tüm türler, google/ads/googleads/v*/common|enums|errors|resources|services/types/
adlı çeşitli nesne kategorileri altında tanımlanır.
Sürüm dizininin altındaki tüm kodlar oluşturulur. Bu nedenle, kod tabanının yapısı değişirse nesneleri doğrudan içe aktarmak yerine bu yöntemlerin kullanılması en iyi uygulamadır.
GoogleAdsService
istemcisinin bir örneğini almak için get_service
yönteminin nasıl kullanılacağıyla ilgili bir örneği burada bulabilirsiniz.
from google.ads.googleads.client import GoogleAdsClient
# "load_from_storage" loads your API credentials from disk so they
# can be used for service initialization. Providing the optional `version`
# parameter means that the v16 version of GoogleAdsService will
# be returned.
client = GoogleAdsClient.load_from_storage(version="v16")
googleads_service = client.get_service("GoogleAdsService")
Bir Campaign
örneğini almak için get_type
yönteminin nasıl kullanılacağıyla ilgili bir örneği aşağıda bulabilirsiniz.
from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage(version="v16")
campaign = client.get_type("Campaign")
Sıralamalar
Sıralamaları almak için get_type
yöntemini kullanabilirsiniz ancak her GoogleAdsClient
örneği, get_type
yöntemiyle aynı mekanizmayı kullanarak Enums'u dinamik olarak yükleyen bir enums
özelliğine de sahiptir. Bu arayüz, get_type
kullanımına kıyasla daha basit ve daha kolay okunacak şekilde tasarlanmıştır:
client = GoogleAdsClient.load_from_storage(version=v16)
campaign = client.get_type("Campaign")
campaign.status = client.enums.CampaignStatusEnum.PAUSED
Sıralama olan proto nesne alanları Python'da yerel enum türüyle temsil edilir. Bu, üyenin değerini
kolayca okuyabileceğiniz anlamına gelir. Bir Python repl'de önceki örnekte verilen campaign
örneğiyle çalışma:
>>> print(campaign.status)
CampaignStatus.PAUSED
>>> type(campaign.status)
<enum 'CampaignStatus'>
>>> print(campaign.status.value)
3
Bazen yukarıda gösterildiği gibi sıralama değerine karşılık gelen alanın adını bilmek yararlı olur. Bu bilgilere name
özelliğini kullanarak erişebilirsiniz:
>>> print(campaign.status.name)
'PAUSED'
>>> type(campaign.status.name)
<class 'str'>
Numaralarla etkileşimde bulunma işlemi, use_proto_plus
yapılandırmasının true
veya false
olarak ayarlanmış olmasına bağlı olarak farklılık gösterir. İki arayüzle ilgili ayrıntılar için protobuf mesajları belgelerine göz atın.
Sürüm oluşturma
API'nin birden çok sürümü aynı anda korunur. v16
en son sürüm olabilir ancak önceki sürümler kullanımdan kaldırılana kadar erişilebilir olmaya devam eder. Kitaplık, etkin her API sürümüne karşılık gelen ayrı proto mesajı sınıfları içerir. Belirli bir sürümdeki mesaj sınıfına erişmek için, bir istemciyi başlatırken her zaman belirtilen sürümden örnek döndürmesi için version
anahtar kelime parametresini sağlayın:
client = GoogleAdsService.load_from_storage(version="/google-ads/api/reference/rpc/v16/")
# The Campaign instance will be from the v16 version of the API.
campaign = client.get_type("Campaign")
get_service
ve get_type
yöntemlerini çağırırken sürümü belirtmek de mümkündür. Bu işlem, istemciyi başlatırken sağlanan sürümü geçersiz kılar:
client = GoogleAdsService.load_from_storage()
# This will load the v16 version of the GoogleAdsService.
googleads_service = client.get_service(
"GoogleAdsService", version="v16")
client = GoogleAdsService.load_from_storage(version="v16")
# This will load the v14 version of a Campaign.
campaign = client.get_type("Campaign", version="v14")
version
anahtar kelime parametresi sağlanmazsa kitaplık varsayılan olarak en son sürümü kullanır. En son ve mevcut diğer sürümlerin güncellenmiş bir listesini API Referansı belgelerinin sol gezinme bölümünde bulabilirsiniz.