このクライアント ライブラリにより、Google Ad Manager SOAP API へのアクセスが簡素化されます。このライブラリは、認証を保存し、SOAP Web サービス クライアントを作成する簡単な方法を提供します。 API との統合を開始するのに役立つサンプル コードも含まれています。
ライブラリをダウンロードしてインストールする
setuptools は googleads ライブラリをインストールするための前提条件です
pip を使用して PyPI からライブラリとその依存関係をインストールすることをお勧めします。これは 1 つのコマンドで実行できます。
$ pip install googleads
代わりに、ライブラリを tarball としてダウンロードすることもできます。インストールを開始するには、ダウンロードした解凍されたクライアント ライブラリを含むディレクトリに移動し、次のように「setup.py」スクリプトを実行します。
$ python setup.py build install
googleads.yaml ファイルをホーム ディレクトリにコピーします。
これは、クライアントを初期化するためにロードできる資格情報やその他の設定を保存するために使用されます。
OAuth2 認証情報を設定する
アド マネージャー API は認証として OAuth2 を使用します
機構。ユースケースに基づいて、以下の適切なガイドに従ってください。
自分の認証情報を使用して API にアクセスしている場合...
クライアントに代わって API にアクセスしている場合...
ウェブ アプリケーションの開発(アド マネージャー)
アド マネージャーの使用
アド マネージャーの最新バージョンのコード例は、リリース ページでご覧いただけます。
あるいは、アド マネージャーのサンプルは、このリポジトリのサンプル ディレクトリにあります。
API認証情報をキャッシュすることが可能です。ライブラリには、これを行う方法を示すgoogleads.yaml
という名前のサンプル ファイルが含まれています。使用する予定の API と機能のフィールドに入力します。ライブラリのLoadFromStorage
メソッドは、デフォルトでホーム ディレクトリ内でこの名前のファイルを検索しますが、正しい yaml 内容を持つ任意のファイルへのパスを渡すことができます。
# デフォルトの場所 - ホーム ディレクトリを使用します:ad_manager_client = ad_manager.AdManagerClient.LoadFromStorage()# あるいは、ファイルの場所を渡します:ad_manager_client = ad_manager.AdManagerClient.LoadFromStorage('C:MyDirectorygoogleads.yaml')
クライアント ライブラリに直接関連する問題がある場合は、問題トラッカーを使用してください。
特定の API に関連する問題がある場合は、製品サポート フォーラムを使用してください。
アド マネージャー
このライブラリは、Python の組み込みロギング フレームワークを使用します。構成ファイルを介して構成を指定できます。例については、googleads.yaml を参照してください。
あるいは、ログ構成を手動で指定することもできます。たとえば、SOAP インタラクションを標準出力に記録する必要があり、Zeep SOAP ライブラリを使用している場合は、次の操作を行うことができます。
logging.basicConfig(level=logging.INFO, format=googleads.util.LOGGER_FORMAT)logging.getLogger('googleads.soap').setLevel(logging.DEBUG)
ファイルにログを記録したい場合は、出力をファイルに書き込むように構成されたログ ハンドラーをこのソースにアタッチする必要があります。
ログ記録に使用される zeep プラグインは、出力から機密データを削除します。このデータをログに含めたい場合は、独自の単純なログ プラグインを実装する必要があります。例えば:
class DangerousZeepLogger(zeep.Plugin): def ingress(self,Envelope,http_headers,operation):logging.debug('受信応答: n%s', etree.tostring(envelope, pretty_print=True))return envelope, http_headers def egress(self、envelope、http_headers、operation、binding_options):logging.debug('受信応答: n%s'、etree.tostring(envelope、pretty_print=True))return封筒、http_headersad_manager_client.zeep_client.plugins.append(DangerousZeepLogger ())
WSDL の読み取りとダイジェストには負荷がかかる可能性があるため、デフォルトではクライアントはキャッシュされます。ただし、デフォルトのキャッシュ方法では、ローカル ファイル システムにアクセスするための権限が必要ですが、App Engine などの特定のホスティング環境では利用できない場合があります。
zeep.cache.Base
の実装をAdManagerClient
イニシャライザに渡して、デフォルトのキャッシュ動作を変更できます。
たとえば、zeep を使用してキャッシュ ファイルの別の場所と期間を構成します。
doc_cache = zeep.cache.SqliteCache(path=cache_path)ad_manager_client = ad_manager.AdManagerClient( oauth2_client, application_name, network_code=network_code, cache=doc_cache)
zeep を使用して同様の方法でキャッシュを無効にすることもできます。
ad_manager_client = ad_manager.AdManagerClient( oauth2_client, application_name, network_code=network_code、cache=googleads.common.ZeepServiceProxy.NO_CACHE)
このライブラリは Python 3.7 以降のみをサポートします。
- httplib2 -- https://pypi.python.org/pypi/httplib2/ - oauth2client -- https://pypi.python.org/pypi/oauth2client/ - pysocks -- https://pypi.python.org/pypi/PySocks/ - pytz -- https://pypi.python.org/pypi/pytz - pyYAML -- https://pypi.python.org/pypi/pyYAML/ - xmltodict -- https://pypi.python.org/pypi/xmltodict/ - zeep -- https://pypi.python.org/pypi/zeep - mock -- https://pypi.python.org/pypi/mock (only needed to run unit tests) - pyfakefs -- https://pypi.python.org/pypi/pyfakefs (only needed to run unit tests)
Mark Saniscalchi David Wihl Ben Karl