クライアントを構成する方法は複数あります。
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_id
は GOOGLE_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
を使用した構成
dict
は load_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 と辞書のいずれを使用する場合でも同じです) 構成):
refresh_token
: OAuth 更新トークン。client_id
: OAuth クライアント ID。client_secret
: OAuth クライアント シークレット。developer_token
: API にアクセスするための開発者トークン。login_customer_id
: 詳しくは、 login-customer-id のドキュメントをご覧ください。linked_customer_id
: リンクされたお客様 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
: さまざまな種類のロガーを定義する辞書。以下が含まれます。 ログレベルを指定します。