İstemciyi yapılandırmanın birden fazla yolu vardır.
YAML dosyası kullanarak yapılandırma
Aşağıdakini içeren istemciyi başlatırken kullanılacak bir YAML dosyası belirtebilirsiniz:
İstekte bulunmak için gereken kimlik doğrulama bilgileri Bu dosya
Bir istemci load_from_storage
yöntemi kullanılarak başlatıldığında erişilir.
Bu dosyayı oluşturmanın en kolay yolu
google-ads.yaml
bir örnek verecek olursak ve bunu sizin kimlik bilgilerinizi içerecek şekilde
Bunlar geliştirici jetonunuz, yenileme jetonunuz, istemci kimliğiniz ve istemci gizli anahtarınız dahil.
Yol belirtmezseniz kitaplık, $HOME
dizininize bakar
şu dosya için:
from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage()
google-ads.yaml
dosyasının bulunduğu konumu belirtmek için
yöntemin dizesi olarak kullanılır:
from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage("path/to/google-ads.yaml")
Belirli bir ortam değişkeni tanımlayarak da yolu belirtebilirsiniz:
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()
Her iki değer de sağlanırsa: Yönteme ve yukarıdaki yönteme bir yol aktarılır mevcut bir ortam değişkeni varsa kitaplık, yöntemi kullanılır.
Ortam değişkenlerini kullanarak yapılandırma
İstemci yapılandırmanızı ortam değişkenleri olarak saklayabilirsiniz. Bu değişkenler
istemcinin load_from_env
yöntemi kullanılırken okunacaktır. Çevre
değişkenlerinin adı, google-ads.yaml
özelliğinde tanımlananlarla aynı olmalıdır
dosyası olmalıdır ancak tamamı büyük harfli olmalı ve GOOGLE_ADS_
tıklayın. Örneğin client_id
, GOOGLE_ADS_CLIENT_ID
olarak depolanmalıdır.
Ortam değişkenleri genellikle
$HOME
dizininde bulunan bir .bashrc
veya .bash_profile
dosyası olarak. Onlar
komut satırı kullanılarak da tanımlanabilir. Bu talimatların
bash
kullandığınızı varsayalım. Farklı bir kabuk kullanıyorsanız ihtiyacınız olabilir
kabuğunu bulun.
.bashrc
kullanarak ortam değişkeni tanımlamaya yönelik bazı temel adımları burada bulabilirsiniz.
dosyayı yükleyin:
# 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
Ortam değişkenleri doğrudan terminal örneğinizde de ayarlanabilir komut satırından:
$ export GOOGLE_ADS_CLIENT_ID=1234567890
$ echo $GOOGLE_ADS_CLIENT_ID
1234567890
load_from_env
yöntemi, yapılandırma verilerini environ
özelliğini eklemeniz gerekir.os
Örneğin:
os.environ["GOOGLE_ADS_CLIENT_ID"]
Aşağıda, yapılandırmayla istemci örneğinin nasıl başlatılacağına dair bir örnek verilmiştir. kaldırın:
from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_env()
logging
özelliğini ortam değişkenleri aracılığıyla yapılandırmak için
değeri,
örnek google-ads.yaml
yapılandırma dosyası.
Aşağıda, bunun bir .bashrc
dosyası kullanılarak nasıl ayarlanabileceğiyle ilgili bir örnek verilmiştir:
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 dizesi kullanarak yapılandırma
Belleğe bir YAML dosyası okuduysanız bunu doğrudan
istemcinin kim olduğunu
anlamanızı sağlar. Bunun için load_from_string
yöntemini kullanmanız yeterlidir.
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
kullanarak yapılandırma
dict
öğesini doğrudan load_from_dict
yöntemine aktarabilirsiniz. Örneğin:
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)
Yapılandırma Alanları
İstemci kitaplığı yapılandırması aşağıdaki alanları destekler.
Genel alanlar (YAML veya dikte kullanmanız fark etmeksizin bu adlar aynıdır) yapılandırma):
refresh_token
: OAuth yenileme jetonunuz.client_id
: OAuth istemci kimliğiniz.client_secret
: OAuth istemci gizli anahtarınız.developer_token
: API'ye erişmek için geliştirici jetonunuz.login_customer_id
: Bkz. login-customer-id dokümanlarına bakabilirsiniz.linked_customer_id
: linked-customer-id adresine bakın dokümanlarına göz atın.json_key_file_path
(eski adıylapath_to_private_key_file
): Bir yerel özel anahtar dosyanız olur. Bu, bir hizmet kullanarak kimlik doğrulaması yapmak için kullanılır hesap. OAuth2 Hizmet Hesabı dokümanlarına bakın.impersonated_email
(eski adıyladelegate_account
): Kullanılan hesap e-posta adresi siz olmalısınız. Bu, bir hizmet hesabı kullanarak kimlik doğrulaması yapmak için kullanılır. Görüntüleyin OAuth2 Hizmet Hesabı dokümanlarına göz atın.logging
: Günlük kaydı yapılandırması. Günlük kaydı alanları aşağıda açıklanmıştır.http_proxy
: Proxy dokümanlarına bakın.use_proto_plus
: Proto-plus mesajlarının kullanılıp kullanılmayacağı. Bkz. Protobuf mesajları dokümanları.
Ortam değişkenleri olarak genel alanlar:
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
(eski adıylaGOOGLE_ADS_PATH_TO_PRIVATE_KEY_FILE
)GOOGLE_ADS_IMPERSONATED_EMAIL
(eski adıylaGOOGLE_ADS_DELEGATE_ACCOUNT
)GOOGLE_ADS_LOGGING
GOOGLE_ADS_HTTP_PROXY
GOOGLE_ADS_USE_PROTO_PLUS
logging
yapılandırmasının altındaki alanlar olan günlük kaydı alanları
alanı, doğrudan logging.config
yerleşik modülünden türetilir
çünkü kitaplık, logging
ad alanının altındaki tüm alanları geçirecek.
URL'sini doğrudan
logging.config.dictConfig
yöntemidir. Tüm ayrıntılar için günlük kaydı kılavuzuna bakın.
version
: Şema sürümünü temsil eden tam sayı değeri.disable_existing_loggers
: Günlük kaydedicilerin devre dışı bırakılmalıdır.formatters
: Farklı biçimlendirici türlerini tanımlayan sözlükler.handlers
: Burada, kontrol edilen ve farklı işleyiciler tanımlayan sözlükler ve hangi biçimlendiricilerin kullanılması gerektiğini belirler.loggers
: Aşağıdakiler de dahil olmak üzere farklı logger türlerini tanımlayan sözlükler. ve günlük düzeyini tanımlamak önemlidir.