Panduan ini membahas cara mengakses Google Ads API dengan akun layanan.
Akun layanan adalah akun yang dimiliki oleh aplikasi Anda, bukan oleh pengguna akhir perorangan. Akun layanan menggunakan alur OAuth 2.0 yang tidak memerlukan otorisasi manusia, tetapi menggunakan file kunci yang hanya dapat diakses oleh aplikasi Anda.
Penggunaan akun layanan memberikan dua manfaat utama:
Otorisasi untuk akses Google Ads API ke akun Google Ads dilakukan sebagai langkah konfigurasi, dengan memanfaatkan fitur otorisasi dan pengelolaan akun yang ditawarkan oleh UI Google Ads. Hal ini menghemat upaya developer karena tidak perlu membuat alur OAuth 2.0 dan menangani komplikasi yang melibatkan interaksi pengguna, menyimpan kredensial pengguna, dll.
Otorisasi untuk akses ke akun Google Ads tidak terikat pada kredensial pengguna perorangan, yang mungkin berguna jika otorisasi tersebut diharapkan akan terus berlanjut meskipun karyawan yang awalnya mengotorisasi akses tersebut keluar dari tim atau perusahaan.
Penyiapan akses akun
Mulailah dengan membuat akun layanan dan kredensial.
Download kunci akun layanan dalam format JSON dan catat ID serta email akun layanan.
Login ke akun Google Ads Anda sebagai administrator. Buka Admin > Akses dan keamanan.
Klik tombol + di tab Pengguna.

Ketik email akun layanan ke dalam kotak input Email. Pilih tingkat akses akun yang sesuai, lalu klik tombol Tambahkan akun.

Akun layanan akan diberi akses.

[Opsional] Secara default, Anda tidak dapat memberikan akses administrator ke akun layanan. Jika panggilan API Anda memerlukan akses administrator, Anda dapat mengupgrade aksesnya sebagai berikut.
- Klik panah drop-down di samping tingkat akses akun layanan di kolom Tingkat akses.
- Pilih Admin dari daftar drop-down.
Konfigurasi library klien
Pilih tab yang sesuai dengan bahasa pemrograman Anda untuk mengetahui petunjuk cara mengonfigurasi library klien.
Java
Tetapkan jalur JSON kunci pribadi dalam konfigurasi Anda. Jika Anda menggunakan file ads.properties, tambahkan hal berikut:
api.googleads.serviceAccountSecretsPath=JSON_KEY_FILE_PATH
Lihat panduan konfigurasi untuk mengetahui detail tambahan.
.NET
Tetapkan OAuth2Mode dan OAuth2SecretsJsonPath pada instance GoogleAdsConfig dan gunakan untuk menginisialisasi objek GoogleAdsClient.
GoogleAdsConfig config = new GoogleAdsConfig()
{
OAuth2Mode = OAuth2Flow.SERVICE_ACCOUNT,
OAuth2SecretsJsonPath = "PATH_TO_JSON_SECRETS_PATH",
...
};
GoogleAdsClient client = new GoogleAdsClient(config);
Lihat panduan konfigurasi untuk mengetahui detail tambahan.
Python
Tetapkan jalur JSON kunci pribadi dalam konfigurasi Anda. Jika Anda menggunakan google-ads.yaml file, string YAML, atau dict, tambahkan hal berikut:
json_key_file_path: JSON_KEY_FILE_PATH
Jika Anda menggunakan variabel lingkungan, tambahkan hal berikut ke konfigurasi atau lingkungan Bash Anda:
export GOOGLE_ADS_JSON_KEY_FILE_PATH=JSON_KEY_FILE_PATH
PHP
Konfigurasi kunci berikut di google_ads_php.ini Anda. Lihat
panduan konfigurasi untuk mengetahui detail
tambahan.
; For service account flow.
jsonKeyFilePath = "JSON_KEY_FILE_PATH"
scopes = "https://www.googleapis.com/auth/adwords"
Ruby
Konfigurasi kunci berikut di google_ads_config.rb Anda.
c.keyfile = 'JSON_KEY_FILE_PATH'
Perl
Tetapkan jalur JSON kunci pribadi dan ID akun delegasi dalam konfigurasi Anda.
Jika Anda menggunakan file googleads.properties, tambahkan hal berikut:
jsonKeyFilePath=JSON_KEY_FILE_PATH
Jika Anda menggunakan variabel lingkungan, tambahkan hal berikut ke konfigurasi atau lingkungan Bash Anda:
export GOOGLE_ADS_JSON_KEY_FILE_PATH=JSON_KEY_FILE_PATH
curl
Mulailah dengan menetapkan akun layanan sebagai kredensial aktif di gcloud CLI.
gcloud auth login --cred-file=PATH_TO_CREDENTIALS_JSONSelanjutnya, ambil token akses OAuth 2.0 untuk Google Ads API.
gcloud auth \
print-access-token \
--scopes='https://www.googleapis.com/auth/adwords'Sekarang Anda dapat menggunakan token akses dalam panggilan API. Contoh berikut
menunjukkan cara menjalankan laporan kampanye menggunakan metode
GoogleAdsService.SearchStream untuk mengambil kampanye di akun Anda. Panduan ini tidak membahas detail
pelaporan.
curl -i -X POST https://googleads.googleapis.com/v25/customers/CUSTOMER_ID/googleAds:searchStream \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "developer-token: DEVELOPER_TOKEN" \
-H "login-customer-id: LOGIN_CUSTOMER_ID" \
--data-binary "@query.json"Konten query.json adalah sebagai berikut:
{
"query": "SELECT campaign.id, campaign.name, campaign.network_settings.target_content_network FROM campaign ORDER BY campaign.id"
}