設定

クライアントを構成する方法は複数あります。

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

次の要素を含むクライアントを初期化するときに使用する YAML ファイルを指定できます。 認証情報を取得できます。このファイルは load_from_storage メソッドを使用してクライアントが初期化されたときにアクセスされます。 このファイルを生成する最も簡単な方法は、 google-ads.yaml 認証情報が含まれるように変更し、 (開発者トークン、更新トークン、クライアント ID、クライアント シークレットなど)を入力します。

パスを指定しない場合、ライブラリは $HOME ディレクトリを検索します。 次のように設定します。

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

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()

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

環境変数を使用した構成

すべてのクライアント構成を環境変数として保存できます。 クライアントの load_from_env メソッドを使用するときに読み取られます。環境 変数の名前は、google-ads.yaml ただし、すべて大文字にし、先頭に GOOGLE_ADS_ を付ける必要があります Namespace があります。たとえば、client_idGOOGLE_ADS_CLIENT_ID として保存する必要があります。

環境変数は通常、bash 構成ファイルで定義され、 $HOME ディレクトリにある .bashrc または .bash_profile ファイルとして。。 コマンドラインを使用して定義することもできます。これらの手順は 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 メソッドは、environ から構成データを読み込む この属性は Python の組み込み os モジュールにあります。例: os.environ["GOOGLE_ADS_CLIENT_ID"]

構成でクライアント インスタンスを初期化する方法の例を次に示します。 次のように記述します。

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

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

.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 と辞書のいずれを使用する場合でも同じです) 構成):

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

  • 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: さまざまな種類のロガーを定義する辞書。以下が含まれます。 ログレベルを指定します。