Yapılandırma

İ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ıyla path_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ıyla delegate_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ıyla GOOGLE_ADS_PATH_TO_PRIVATE_KEY_FILE)
  • GOOGLE_ADS_IMPERSONATED_EMAIL (eski adıyla GOOGLE_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.