Klienta można skonfigurować na kilka sposobów.
Konfiguracja w pliku YAML
Możesz określić plik YAML, który będzie używany do inicjowania klienta zawierającego
niezbędnych danych uwierzytelniających
do wysyłania żądań. Ten plik jest
dostęp, gdy klient został zainicjowany przy użyciu metody load_from_storage
.
Najprostszym sposobem wygenerowania tego pliku jest skopiowanie
google-ads.yaml
z repozytorium GitHub i zmodyfikuj go, tak aby zawierał Twoje dane logowania,
w tym token programisty, token odświeżania, identyfikator klienta i tajny klucz klienta.
Jeśli nie podasz ścieżki, biblioteka poszuka w katalogu $HOME
.
dla pliku:
from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage()
Aby określić lokalizację, w której znajduje się plik google-ads.yaml
, możesz przekazać
ścieżkę w postaci ciągu znaków do metody przy jej wywoływaniu:
from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage("path/to/google-ads.yaml")
Możesz też określić ścieżkę, definiując konkretną zmienną środowiskową:
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()
Jeśli podasz obie wartości, do metody i do metody jest przekazywana ścieżka zmienna środowiskowa – biblioteka nadaje priorytet ścieżce, przekazywane do metody.
Konfigurowanie przy użyciu zmiennych środowiskowych
Możesz przechowywać całą konfigurację klienta jako zmienne środowiskowe, które
zostanie odczytany podczas korzystania z metody load_from_env
klienta. Środowisko
zmienne powinny mieć taką samą nazwę jak te zdefiniowane w polu google-ads.yaml
ale wszystkie muszą być wielkimi literami i poprzedzone znakiem GOOGLE_ADS_
.
przestrzeni nazw. Na przykład client_id
powinna być przechowywana jako GOOGLE_ADS_CLIENT_ID
.
Zmienne środowiskowe są często zdefiniowane w pliku konfiguracji bash, np.
jako plik .bashrc
lub .bash_profile
znajdujący się w katalogu $HOME
. Ta
można również zdefiniować za pomocą wiersza poleceń. Pamiętaj, że podane tu instrukcje
zakładamy, że używasz bash
. Jeśli używasz innej powłoki, być może
zapoznaj się z dokumentacją dotyczącą ustawiania zmiennych środowiskowych w
powłoki, której używasz.
Oto kilka podstawowych czynności, które należy wykonać, aby zdefiniować zmienną środowiskową za pomocą parametru .bashrc
za pomocą terminala:
# 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
Zmienne środowiskowe można też ustawić bezpośrednio w instancji terminala w wierszu poleceń:
$ export GOOGLE_ADS_CLIENT_ID=1234567890
$ echo $GOOGLE_ADS_CLIENT_ID
1234567890
Metoda load_from_env
wczytuje dane konfiguracji z environ
we wbudowanym module os
Pythona. Na przykład:os.environ["GOOGLE_ADS_CLIENT_ID"]
Oto przykład inicjowania instancji klienta z konfiguracją ze zmiennych środowiskowych:
from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_env()
Aby można było skonfigurować logging
za pomocą zmiennych środowiskowych,
musi być obiektem JSON pasującym do struktury kluczy YAML w pliku
przykład google-ads.yaml
.
Oto przykład, jak można to ustawić za pomocą pliku .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"
}
}
}'
Konfiguracja przy użyciu ciągu znaków YAML
Jeśli odczytasz plik YAML z pamięci, możesz go przesłać bezpośrednio do
klienta podczas inicjowania. Aby to zrobić, użyj metody 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)
Konfiguracja za pomocą interfejsu dict
Możesz przekazać dict
bezpośrednio do metody load_from_dict
. Na przykład:
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)
Pola konfiguracji
Konfiguracja biblioteki klienta obsługuje poniższe pola.
Pola ogólne (te nazwy są takie same niezależnie od tego, czy używasz pliku YAML czy dyktafonu). konfiguracji):
refresh_token
: token odświeżania OAuth.client_id
: identyfikator klienta OAuth.client_secret
: tajny klucz klienta OAuth.developer_token
: token programisty pozwalający na dostęp do interfejsu API.login_customer_id
: Zobacz login-customer-id.linked_customer_id
: zobacz połączony-identyfikator-klienta dokumentacji.json_key_file_path
(dawniejpath_to_private_key_file
): ścieżka do lokalnego klucza prywatnego. Służy do uwierzytelniania za pomocą usługi koncie. Zapoznaj się z dokumentacją konta usługi OAuth2.impersonated_email
(dawniejdelegate_account
): używany adres e-mail konta jako delegata. Służy do uwierzytelniania za pomocą konta usługi. Zobacz dokumentację konta usługi OAuth2.logging
: konfiguracja logowania. Pola logowania opisano poniżej.http_proxy
: więcej informacji znajdziesz w dokumentacji serwera proxy.use_proto_plus
: określa, czy mają być używane wiadomości protoplus. Zobacz Dokumentacja komunikatów buforów protokołu.
Pola ogólne jako zmienne środowiskowe:
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
(dawniejGOOGLE_ADS_PATH_TO_PRIVATE_KEY_FILE
)GOOGLE_ADS_IMPERSONATED_EMAIL
(dawniejGOOGLE_ADS_DELEGATE_ACCOUNT
)GOOGLE_ADS_LOGGING
GOOGLE_ADS_HTTP_PROXY
GOOGLE_ADS_USE_PROTO_PLUS
Pola logowania, będące polami pod konfiguracją logging
są pobierane bezpośrednio z modułu wbudowanego logging.config
.
ponieważ biblioteka przekazuje wszystkie pola w przestrzeni nazw logging
bezpośrednio do
logging.config.dictConfig
.
. Szczegółowe informacje znajdziesz w przewodniku dotyczącym logowania.
version
: wartość całkowita określająca wersję schematu.disable_existing_loggers
: określa, czy rejestratorzy są skonfigurowani w innym miejscu aplikacja powinna być wyłączona.formatters
: słowniki definiujące różne rodzaje elementów formatujących.handlers
: słowniki definiowanie różnych modułów obsługi, które określają, gdzie w których zapisywane są logi i które elementy formatujące mają być używane.loggers
: słowniki definiujące różne typy rejestratorów, takie jak modułu obsługi i poziomu rejestrowania.