API を使用するために必要なすべての各種 proto クラスへの参照を、 Python は冗長になることがあり、そのためには Python のプログラミング言語を本質的に理解 プロトコルやドキュメントを参照するためのコンテキストの切り替えが頻繁に使用されます。
クライアントの get_service
メソッドと get_type
メソッド
これら 2 つのゲッター メソッドを使用すると、
APIget_service
メソッドは、サービス クライアントを取得するために使用されます。get_type
使用しないでください。サービス クライアント クラスはコードで定義する
バージョン パス google/ads/googleads/v*/services/services/
の下にあり、
さまざまなオブジェクト カテゴリで定義され、
google/ads/googleads/v*/common|enums|errors|resources|services/types/
。
version ディレクトリの下のコードはすべて生成されるため、
オブジェクトを直接インポートする代わりに、これらのメソッドを使用して
変更することはできません。
次に、get_service
メソッドを使用してインスタンスを取得する方法の例を示します。
GoogleAdsService
クライアントのものです。
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 v17 version of GoogleAdsService will
# be returned.
client = GoogleAdsClient.load_from_storage(version="v17")
googleads_service = client.get_service("GoogleAdsService")
次に、get_type
メソッドを使用してバケットを取得する方法の例を示します。
Campaign
インスタンス。
from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage(version="v17")
campaign = client.get_type("Campaign")
列挙型
get_type
メソッドを使用して列挙型を取得できますが、それぞれの
GoogleAdsClient
インスタンスには enums
属性もあり、これは動的に
get_type
メソッドと同じメカニズムを使用して列挙型を読み込みます。このインターフェース
は、get_type
を使用するよりもシンプルで読みやすいことを目的としています。
client = GoogleAdsClient.load_from_storage(version=v17)
campaign = client.get_type("Campaign")
campaign.status = client.enums.CampaignStatusEnum.PAUSED
列挙型である Proto オブジェクト フィールドは、Python ではネイティブ
enum です。つまり、
メンバーの値を簡単に読み取ることができます。campaign
インスタンスの操作
を Python の repl で次のように書き換えます。
>>> print(campaign.status)
CampaignStatus.PAUSED
>>> type(campaign.status)
<enum 'CampaignStatus'>
>>> print(campaign.status.value)
3
対応するフィールドの名前を知っておくと、
列挙値を返すことができます。この情報には、name
属性:
>>> print(campaign.status.name)
'PAUSED'
>>> type(campaign.status.name)
<class 'str'>
列挙型の操作方法は、
use_proto_plus
構成が true
または false
に設定されている。この 2 つのインターフェースについて詳しくは、このモジュールの
protobuf メッセージのドキュメントをご覧ください。
バージョニング
同時に複数のバージョンの API が維持されます。しばらく
v17
は最新のバージョンの可能性がありますが、以前のバージョンは引き続きご利用いただけます。
日没までアクセスできます。ライブラリには、個別の proto と
メッセージ クラスの数が含まれます。メッセージにアクセスするには
特定のバージョンのクラスでは、version
キーワード パラメータを指定します。
常に指定されたインスタンスからインスタンスを返すように、クライアントを初期化します。
version:
client = GoogleAdsService.load_from_storage(version="/google-ads/api/reference/rpc/v17/")
# The Campaign instance will be from the v17 version of the API.
campaign = client.get_type("Campaign")
get_service
を呼び出すときにバージョンを指定することもできます。
get_type
メソッド。この操作を行うと、指定したバージョンがオーバーライドされます
クライアントを初期化します。
client = GoogleAdsService.load_from_storage()
# This will load the v17 version of the GoogleAdsService.
googleads_service = client.get_service(
"GoogleAdsService", version="v17")
client = GoogleAdsService.load_from_storage(version="v17")
# This will load the v15 version of a Campaign.
campaign = client.get_type("Campaign", version="v15")
version
キーワード パラメータが指定されていない場合、ライブラリはデフォルトで
できます。最新バージョンと利用可能なその他のバージョンの最新リスト
左側のナビゲーション セクションにある
API リファレンス ドキュメント。