構成

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

クライアントの構成方法は複数ありますが、

YAML ファイルを使用した構成

クライアントを初期化するときに、リクエストの実行に必要な認証情報を含む YAML ファイルを指定できます。このファイルは、クライアントが load_from_storage メソッドを使用して初期化されるとアクセスされます。このファイルを生成する最も簡単な方法は、GitHub リポジトリから google-ads.yaml の例をコピーして、開発者トークン、更新トークン、クライアント ID、クライアント シークレットなどの認証情報を含むように変更することです。

google-ads.yaml ファイルが配置されている場所を指定するには、メソッドを呼び出すときにパスを文字列としてメソッドに渡します。

from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage("path/to/google-ads.yaml")

特定の環境変数を定義することによって、パスを指定することもできます。

import os

os.environ["GOOGLE_ADS_CONFIGURATION_FILE_PATH"] = "path/to/google-ads.yaml"
from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage()

両方の値が指定され、パスがメソッドに渡され、上記の環境変数が存在する場合、ライブラリはメソッドに渡されるパスを優先します。

パスを指定しない場合、ライブラリは $HOME ディレクトリでファイルを検索します。

from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage()

環境変数を使用した構成

クライアント構成はすべて環境変数として保存できます。環境変数は、クライアントの load_from_env メソッドを使用する際に読み取られます。環境変数は、google-ads.yaml ファイルで定義されているものと同じ名前にする必要があります。ただし、すべて大文字にして、先頭に GOOGLE_ADS_ 名前空間を指定する必要があります。たとえば、client_idGOOGLE_ADS_CLIENT_ID として保存する必要があります。

環境変数は通常、$HOME ディレクトリにある .bashrc.bash_profile ファイルなどの bash 構成ファイルで定義されます。コマンドラインを使用して定義することもできます。以下の手順は、bash を使用していることを前提としています。別のシェルを使用している場合は、使用しているシェルで環境変数を設定する方法に関するドキュメントをご覧ください。

ターミナルを使用して、.bashrc ファイルを使用して環境変数を定義する基本的な手順について説明します。

# Append the line "export GOOGLE_ADS_CLIENT_ID=1234567890" to
# the bottom of your .bashrc file.
$ echo "export GOOGLE_ADS_CLIENT_ID=1234567890" >> ~/.bashrc
# Update your bash environment to use the most recently updated
# version of your .bashrc file.
$ src ~/.bashrc

環境変数は、コマンドラインから直接ターミナル インスタンスに設定することもできます。

$ export GOOGLE_ADS_CLIENT_ID=1234567890
$ echo $GOOGLE_ADS_CLIENT_ID
1234567890

load_from_env メソッドは、Python に組み込まれている os モジュールの environ 属性から構成データを読み込みます。例: os.environ["GOOGLE_ADS_CLIENT_ID"]

環境変数の構成を使用してクライアント インスタンスを初期化する方法の例を次に示します。

from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_env()

環境変数を使用して logging を構成するには、構成値がサンプル google-ads.yaml 構成ファイルの YAML キーの構造と一致する JSON オブジェクトである必要があります。

.bashrc ファイルを使用して設定する方法の例を次に示します。

export GOOGLE_ADS_LOGGING='{
  "version": 1,
  "disable_existing_loggers": false,
  "formatters": {
    "default_fmt": {
      "format": "[%(asctime)s - %(levelname)s] %(message).5000s",
      "datefmt": "%Y-%m-%d %H:%M:%S"
    }
  },
  "handlers": {
    "default_handler": {
      "class": "logging.StreamHandler",
      "formatter": "default_fmt"
    }
  },
  "loggers": {
    "": {
      "handlers": ["default_handler"],
      "level": "INFO"
    }
  }
}'

YAML 文字列を使用した構成

YAML ファイルをメモリに読み込んでいる場合は、初期化時にクライアントに直接提供できます。これを行うには、load_from_string メソッドを使用します。

from google.ads.googleads.client import GoogleAdsClient

with open("/path/to/yaml", "rb") as handle:
    yaml = handle.read()

client = GoogleAdsClient.load_from_string(yaml)

dict を使用した構成

dictload_from_dict メソッドに直接渡すことができます。例:

from google.ads.googleads.client import GoogleAdsClient

credentials = {
    "developer_token": "abcdef123456",
    "refresh_token": "1//0abcdefghijklABCDEF",
    "client_id": "123456-abcdef.apps.googleusercontent.com",
    "client_secret": "aBcDeFgHiJkL"}

client = GoogleAdsClient.load_from_dict(credentials)

構成フィールド

クライアント ライブラリ構成では、次のフィールドがサポートされます。

一般フィールド(この名前は、YAML 構成と dict 構成のどちらを使用している場合も同じです):

  • refresh_token: OAuth 更新トークン。
  • client_id: OAuth クライアント ID。
  • client_secret: OAuth クライアント シークレット。
  • developer_token: API にアクセスするための開発者トークン。
  • login_customer_id: login-customer-id のドキュメントをご覧ください。
  • linked_customer_id: linked-customer-id のドキュメントをご覧ください。
  • json_key_file_path(旧 path_to_private_key_file): ローカル秘密鍵ファイルのパス。これは、サービス アカウントを使用した認証に使用されます。OAuth2 サービス アカウントのドキュメントをご覧ください。
  • impersonated_email(旧 delegate_account): 代理人として使用されるアカウントのメールアドレス。これは、サービス アカウントを使用した認証に使用されます。OAuth2 サービス アカウントのドキュメントをご覧ください。
  • logging: ロギング構成。以下では、ロギング フィールドについて説明します。
  • http_proxy: プロキシのドキュメントをご覧ください。
  • use_proto_plus: proto-plus メッセージを使用するかどうか。Protobuf メッセージのドキュメントをご覧ください。

環境変数としての一般的なフィールド:

  • GOOGLE_ADS_CONFIGURATION_FILE_PATH
  • GOOGLE_ADS_REFRESH_TOKEN
  • GOOGLE_ADS_CLIENT_ID
  • GOOGLE_ADS_CLIENT_SECRET
  • GOOGLE_ADS_DEVELOPER_TOKEN
  • GOOGLE_ADS_LOGIN_CUSTOMER_ID
  • GOOGLE_ADS_LINKED_CUSTOMER_ID
  • GOOGLE_ADS_JSON_KEY_FILE_PATH(旧 GOOGLE_ADS_PATH_TO_PRIVATE_KEY_FILE
  • GOOGLE_ADS_IMPERSONATED_EMAIL(旧 GOOGLE_ADS_DELEGATE_ACCOUNT
  • GOOGLE_ADS_LOGGING
  • GOOGLE_ADS_HTTP_PROXY
  • GOOGLE_ADS_USE_PROTO_PLUS

logging 構成フィールドの下にあるフィールドであるロギング フィールドは、logging.config 組み込みモジュールから直接取得されます。これは、ライブラリが logging 名前空間の下にあるすべてのフィールドを logging.config.dictConfig メソッドに直接渡すためです。詳しくは、ロギングガイドをご覧ください。

  • version: スキーマのバージョンを表す整数値。
  • disable_existing_loggers: アプリケーションの他の場所で構成されたロガーを無効にするかどうか。
  • formatters: さまざまなフォーマッタを定義する辞書。
  • handlers: さまざまなハンドラを定義する辞書。ログが書き込まれる場所と、使用するフォーマッタを制御します。
  • loggers: ハンドラとログレベルを含むさまざまなタイプのロガーを定義する辞書。