Ada beberapa cara berbeda untuk mengonfigurasi klien.
Konfigurasi autentikasi
Ada beberapa cara untuk mengelola kredensial OAuth yang diperlukan untuk mengakses Google Ads API. Pendekatan yang Anda pilih akan memengaruhi kolom konfigurasi yang Anda gunakan. Untuk mengetahui informasi selengkapnya, lihat panduan autentikasi kami.
Konfigurasi menggunakan file YAML
Anda dapat menentukan file YAML yang akan digunakan saat menginisialisasi klien yang berisi informasi yang diperlukan untuk membuat permintaan ke Google Ads API. File
ini diakses saat klien diinisialisasi menggunakan metode load_from_storage. Cara termudah untuk membuat file ini adalah dengan menyalin contoh
google-ads.yaml
dari repositori GitHub dan mengubahnya untuk menyertakan kredensial Anda,
termasuk token developer, token refresh, ID klien, dan secret klien.
Jika Anda tidak memberikan jalur, library akan mencari file di direktori $HOME Anda:
from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage()
Untuk menentukan lokasi file google-ads.yaml, Anda dapat meneruskan
jalur sebagai string ke metode saat memanggilnya:
from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage("path/to/google-ads.yaml")
Anda juga dapat menentukan jalur dengan menentukan variabel lingkungan tertentu:
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()
Jika kedua nilai diberikan - jalur diteruskan ke metode, dan variabel lingkungan ada - maka library akan memprioritaskan jalur yang diteruskan ke metode.
Konfigurasi menggunakan variabel lingkungan
Anda dapat menyimpan semua konfigurasi klien sebagai variabel lingkungan, yang akan dibaca saat menggunakan metode load_from_env klien. Variabel
lingkungan harus memiliki nama yang sama dengan yang ditentukan dalam file google-ads.yaml, tetapi harus ditulis dengan huruf besar semua dan diberi awalan namespace GOOGLE_ADS_. Misalnya, client_id harus disimpan sebagai GOOGLE_ADS_CLIENT_ID.
Variabel lingkungan biasanya ditentukan dalam file konfigurasi bash seperti file .bashrc atau .bash_profile yang berada di direktori $HOME. Opsi ini juga dapat ditentukan menggunakan command line. Perhatikan bahwa petunjuk ini
mengasumsikan Anda menggunakan bash. Jika Anda menggunakan shell yang berbeda, Anda mungkin perlu
melihat dokumentasi tentang cara menyetel variabel lingkungan di
shell yang Anda gunakan.
Berikut beberapa langkah dasar untuk menentukan variabel lingkungan menggunakan file .bashrc
menggunakan terminal:
# 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
Variabel lingkungan juga dapat ditetapkan di instance terminal Anda langsung dari command line:
$ export GOOGLE_ADS_CLIENT_ID=1234567890
$ echo $GOOGLE_ADS_CLIENT_ID
1234567890
Metode load_from_env memuat data konfigurasi dari atribut environ
pada modul os bawaan Python. Contoh:
os.environ["GOOGLE_ADS_CLIENT_ID"]
Berikut adalah contoh cara melakukan inisialisasi instance klien dengan konfigurasi dari variabel lingkungan:
from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_env()
Untuk mengonfigurasi logging melalui variabel lingkungan, nilai konfigurasi harus berupa objek JSON yang cocok dengan struktur kunci YAML dalam file konfigurasi google-ads.yaml contoh.
Berikut adalah contoh cara menyetelnya menggunakan file .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"
}
}
}'
Konfigurasi menggunakan string YAML
Jika telah membaca file YAML ke dalam memori, Anda dapat memberikannya langsung ke
klien saat inisialisasi. Untuk melakukannya, cukup gunakan metode 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)
Konfigurasi menggunakan dict
Anda dapat meneruskan dict langsung ke metode load_from_dict. Contoh:
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)
Kolom Konfigurasi
Konfigurasi library klien mendukung kolom berikut.
Autentikasi
Hanya gunakan salah satu grup kolom ini, bergantung pada pendekatan autentikasi yang Anda gunakan:
- Pengguna tunggal dengan kredensial default aplikasi (dokumentasi)
use_application_default_credentials: Apakah library harus menggunakan kredensial default aplikasi (ADC) untuk autentikasi.
- Pengguna tunggal dengan token OAuth (dokumentasi)
client_id: ID klien OAuth Anda.client_secret: Rahasia klien OAuth Anda.refresh_token: Token refresh OAuth Anda.
- Akun layanan (dokumentasi)
json_key_file_path: Jalur ke file kunci pribadi lokal. Ini digunakan untuk mengautentikasi menggunakan akun layanan.
Perilaku library
Kolom ini menentukan perilaku library:
logging: Lihat detail konfigurasi logging.http_proxy: Lihat dokumentasi proxy.use_proto_plus: Apakah akan menggunakan pesan proto-plus atau tidak. Lihat dokumentasi pesan protobuf.
Konfigurasi tingkat permintaan
developer_token: WAJIB Token developer Anda untuk mengakses API.linked_customer_id: Lihat dokumentasi linked-customer-id.login_customer_id: Lihat dokumentasi login-customer-id.
Variabel lingkungan
Untuk mengonfigurasi library menggunakan variabel lingkungan, gunakan perintah berikut:
GOOGLE_ADS_CLIENT_IDGOOGLE_ADS_CLIENT_SECRETGOOGLE_ADS_CONFIGURATION_FILE_PATHGOOGLE_ADS_DEVELOPER_TOKENGOOGLE_ADS_HTTP_PROXYGOOGLE_ADS_JSON_KEY_FILE_PATHGOOGLE_ADS_LINKED_CUSTOMER_IDGOOGLE_ADS_LOGIN_CUSTOMER_IDGOOGLE_ADS_LOGGINGGOOGLE_ADS_REFRESH_TOKENGOOGLE_ADS_USE_PROTO_PLUSGOOGLE_ADS_USE_APPLICATION_DEFAULT_CREDENTIALS
Konfigurasi logging
Kolom logging, yang merupakan kolom di bawah kolom konfigurasi logging, berasal langsung dari modul bawaan logging.config karena library akan meneruskan semua kolom di bawah namespace logging langsung ke metode logging.config.dictConfig. Lihat
panduan pencatatan aktivitas untuk mengetahui detail selengkapnya.
version: Nilai bilangan bulat yang merepresentasikan versi skema.disable_existing_loggers: Apakah logger yang dikonfigurasi di tempat lain dalam aplikasi harus dinonaktifkan.formatters: Kamus yang menentukan berbagai jenis pemformat.handlers: Kamus yang menentukan berbagai handler, yang mengontrol tempat penulisan log dan format yang harus digunakan.loggers: Kamus yang menentukan berbagai jenis logger, yang mencakup handler dan level log.