Seperti Google API lainnya, Google Ads API menggunakan protokol OAuth 2.0 untuk autentikasi dan otorisasi. OAuth 2.0 memungkinkan aplikasi klien Google Ads API Anda mengakses akun Google Ads pengguna tanpa harus menangani atau menyimpan info login pengguna.
Memahami Model Akses Google Ads
Untuk bekerja secara efektif dengan Google Ads API, Anda harus memahami cara kerja model akses Google Ads. Sebaiknya baca panduan model akses Google Ads.
Alur kerja OAuth
Ada tiga alur kerja umum yang digunakan saat bekerja dengan Google Ads API.
Alur akun layanan
Ini adalah alur kerja yang direkomendasikan jika alur kerja Anda tidak memerlukan interaksi manusia. Alur kerja ini memerlukan langkah konfigurasi, di mana pengguna menambahkan akun layanan ke akun Google Ads mereka. Aplikasi kemudian dapat menggunakan kredensial akun layanan untuk mengelola akun Google Ads pengguna.
Berikut cara menyiapkan OAuth2 untuk akses API menggunakan kredensial Anda sendiri dengan akun layanan di library klien Perl:
Buat kredensial OAuth2:
Ikuti petunjuk untuk membuat akun layanan dan file
*.JSON.Siapkan library klien:
Tetapkan jalur JSON kunci pribadi dalam konfigurasi Anda. Jika Anda menggunakan file
googleads.properties, tambahkan kode berikut:jsonKeyFilePath=PRIVATE_KEY_FILE_PATHJika Anda menggunakan variabel lingkungan, tambahkan kode berikut ke konfigurasi atau lingkungan Bash Anda:
export GOOGLE_ADS_JSON_KEY_FILE_PATH=PRIVATE_KEY_FILE_PATHLihat panduan alur kerja akun layanan untuk mempelajari lebih lanjut.
Alur autentikasi pengguna tunggal
Alur kerja ini dapat digunakan jika Anda tidak dapat menggunakan akun layanan. Alur kerja ini memerlukan dua langkah konfigurasi:
- Memberi satu pengguna akses ke semua akun yang akan dikelola menggunakan Google Ads API. Pendekatan umum adalah memberi pengguna akses ke akun pengelola Google Ads API, dan menautkan semua akun Google Ads di akun pengelola tersebut.
- Pengguna menjalankan
contoh kode
generate_user_credentials.pluntuk mengizinkan aplikasi Anda mengelola semua akun Google Ads mereka atas nama mereka.
Langkah-langkah berikut menjalankan contoh kode interaktif, yang kemudian mengharuskan Anda memberikan input.
Di terminal, jalankan contoh
generate_user_credentials.pldi direktoriexamples. Anda dapat mengubah nilaiINSERT_XXX_HEREdalam contoh sebelum menjalankan atau menggunakan argumen command line-client_iduntuk ID klien dan-client_secretuntuk rahasia klien.perl generate_user_credentials.pl -client_id {client_id} -client_secret {client_secret}Contoh kode ini akan meminta Anda untuk membuka URL tempat Anda harus mengizinkan aplikasi mengakses akun Google Ads Anda atas nama Anda.
Paste this url in your browser: https://accounts.google.com/o/oauth2/v2/auth?response_type=code&access_type=offline&client_id=...Buka URL di sesi browser pribadi atau jendela samaran. Login dengan Akun Google yang Anda gunakan untuk mengakses Google Ads. Biasanya, ini adalah akun email yang memiliki akses ke akun pengelola Google Ads yang berisi semua akun yang perlu Anda kelola dalam hierarki akunnya. Klik Lanjutkan di layar izin OAuth 2.0.

Anda akan dialihkan ke halaman dengan pesan yang menunjukkan bahwa otorisasi berhasil.
Authorization code was successfully retrieved.Kembali ke konsol tempat Anda menjalankan contoh kode. Anda akan melihat bahwa contoh kode telah selesai dan menampilkan token refresh serta beberapa petunjuk, diikuti dengan petunjuk yang harus Anda ikuti untuk mengonfigurasi library klien:
Replace the following keys and values in your googleads.properties configuration file: clientId==***********************apps.googleusercontent.com clientSecret=**** refreshToken=****Tekan
Ctrl + Cuntuk menghentikan proses. Kemudian, salin token refresh yang dihasilkan bersama dengan ID klien dan rahasia klien ke filegoogleads.propertiesatau simpan di tempat lain untuk digunakan jika membuat instance library saat runtime.
Library dapat diinisialisasi menggunakan kredensial OAuth 2.0 pengguna dengan
menetapkan hal berikut di googleads.properties:
clientId=OAUTH_CLIENT_ID
clientSecret=OAUTH_CLIENT_SECRET
refreshToken=REFRESH_TOKEN
developerToken=DEVELOPER_TOKEN
loginCustomerId=LOGIN_CUSTOMER_ID
Atau, gunakan variabel lingkungan:
export GOOGLE_ADS_CLIENT_ID=OAUTH_CLIENT_ID
export GOOGLE_ADS_CLIENT_SECRET=OAUTH_CLIENT_SECRET
export GOOGLE_ADS_REFRESH_TOKEN=REFRESH_TOKEN
export GOOGLE_ADS_DEVELOPER_TOKEN=DEVELOPER_TOKEN
export GOOGLE_ADS_LOGIN_CUSTOMER_ID=LOGIN_CUSTOMER_ID
Lihat panduan alur kerja autentikasi pengguna tunggal untuk mempelajari lebih lanjut.
Alur autentikasi multi-pengguna
Alur kerja ini direkomendasikan jika aplikasi Anda memungkinkan pengguna login dan mengizinkan aplikasi Anda mengelola akun Google Ads mereka atas nama mereka. Aplikasi Anda membuat dan mengelola kredensial pengguna OAuth 2.0.
Untuk Perl, Anda biasanya akan menerapkan alur aplikasi web tempat aplikasi Anda menangani pengalihan OAuth 2.0 dan pengelolaan token. Pengguna melakukan autentikasi melalui aplikasi Anda, dan aplikasi Anda menyimpan serta menggunakan token refresh pengguna untuk melakukan panggilan API atas nama mereka.
Konfigurasi untuk menggunakan kredensial yang diperoleh sama dengan konfigurasi untuk alur autentikasi pengguna tunggal:
clientId=OAUTH_CLIENT_ID
clientSecret=OAUTH_CLIENT_SECRET
refreshToken=REFRESH_TOKEN
developerToken=DEVELOPER_TOKEN
loginCustomerId=LOGIN_CUSTOMER_ID
Atau, gunakan variabel lingkungan:
export GOOGLE_ADS_CLIENT_ID=OAUTH_CLIENT_ID
export GOOGLE_ADS_CLIENT_SECRET=OAUTH_CLIENT_SECRET
export GOOGLE_ADS_REFRESH_TOKEN=REFRESH_TOKEN
export GOOGLE_ADS_DEVELOPER_TOKEN=DEVELOPER_TOKEN
export GOOGLE_ADS_LOGIN_CUSTOMER_ID=LOGIN_CUSTOMER_ID
Lihat panduan alur kerja autentikasi multi-pengguna untuk mempelajari lebih lanjut.
Bagaimana jika pengguna saya mengelola beberapa akun?
Pengguna biasanya mengelola lebih dari satu akun Google Ads, baik melalui akses langsung ke akun, atau melalui akun pengelola Google Ads. Library klien Perl memberikan contoh yang menunjukkan cara menangani kasus tersebut.
- Contoh
get_account_hierarchy.plmenunjukkan cara mengambil daftar semua akun dalam akun pengelola Google Ads. - Contoh
list_accessible_customers.plmenunjukkan cara mengambil daftar semua akun yang memiliki akses langsung pengguna. Akun ini kemudian dapat digunakan sebagai nilai yang valid untuk setelanLoginCustomerIddalam filegoogleads.propertiesatau variabel lingkunganGOOGLE_ADS_LOGIN_CUSTOMER_ID.