Alur kerja akun layanan

Panduan ini membahas cara mengakses Google Ads API dengan akun layanan.

Akun layanan adalah akun milik aplikasi Anda, bukan milik pengguna akhir individu. 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 membangun alur OAuth 2.0 dan menangani komplikasi yang melibatkan interaksi pengguna, penyimpanan kredensial pengguna, dan pengelolaan token.

  • Otorisasi untuk akses ke akun Google Ads tidak terkait dengan kredensial pengguna individu, yang mungkin berguna dalam kasus di mana otorisasi tersebut diharapkan akan berlanjut meskipun karyawan yang awalnya memberikan otorisasi akses meninggalkan tim atau perusahaan.

Penyiapan akses akun

  1. Mulailah dengan membuat akun layanan dan kredensial.

    Download kunci akun layanan dalam format JSON dan catat ID serta email akun layanan.

  2. Login ke akun Google Ads Anda sebagai administrator. Buka Admin > Akses dan keamanan.

  3. Klik tombol + di tab Users.

  4. Ketik email akun layanan ke dalam kotak input Email. Pilih tingkat akses akun yang sesuai (perhatikan bahwa akun layanan tidak mendukung tingkat akses Hanya email), lalu klik tombol Tambahkan akun.

    Akun layanan diberi akses.

  5. Opsional: Secara default, Anda tidak dapat memberikan akses administrator ke akun layanan. Ikuti prinsip hak istimewa terendah dan berikan akses administrator hanya jika panggilan API Anda memerlukannya. Anda dapat mengupgrade akses sebagai berikut:

    • Klik panah drop-down di samping tingkat akses akun layanan di kolom Access level.
    • Pilih Admin dari menu drop-down.

Konfigurasi library klien

Pilih tab yang sesuai dengan bahasa pemrograman Anda untuk mendapatkan petunjuk tentang cara mengonfigurasi library klien. Jika akun layanan Anda mengakses akun klien melalui akun pengelola Google Ads, tetapkan juga login-customer-id (atau loginCustomerId) ke ID pelanggan 10 digit akun pengelola tersebut tanpa tanda hubung (lihat ID pelanggan login).

Java

Tetapkan jalur JSON kunci pribadi dalam konfigurasi Anda. Jika Anda menggunakan file ads.properties, tambahkan kode 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 melakukan inisialisasi objek GoogleAdsClient.

GoogleAdsConfig config = new GoogleAdsConfig()
{
    OAuth2Mode = OAuth2Flow.SERVICE_ACCOUNT,
    OAuth2SecretsJsonPath = "JSON_KEY_FILE_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 file google-ads.yaml, string YAML, atau dict, tambahkan kode 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

Lihat panduan konfigurasi untuk mengetahui detail tambahan.

PHP

Konfigurasikan kunci berikut dalam file google_ads_php.ini Anda.

[OAUTH2]
; For service account flow.
jsonKeyFilePath = "JSON_KEY_FILE_PATH"
scopes = "https://www.googleapis.com/auth/adwords"

Lihat panduan konfigurasi untuk mengetahui detail tambahan.

Ruby

Konfigurasikan kunci berikut di google_ads_config.rb Anda.

c.keyfile = 'JSON_KEY_FILE_PATH'

Lihat panduan konfigurasi untuk mengetahui detail tambahan.

Perl

Tetapkan jalur JSON kunci pribadi dalam konfigurasi Anda. Jika Anda menggunakan file googleads.properties, tambahkan kode 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

Lihat panduan konfigurasi untuk mengetahui detail tambahan.

curl

Mulailah dengan menetapkan akun layanan sebagai kredensial aktif di gcloud CLI.

gcloud auth login --cred-file=JSON_KEY_FILE_PATH

Selanjutnya, ambil token akses OAuth 2.0 untuk Google Ads API.

gcloud auth \
  print-access-token \
  --scopes='https://www.googleapis.com/auth/adwords'

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/v26/customers/CUSTOMER_ID/googleAds:searchStream \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -H "login-customer-id: LOGIN_CUSTOMER_ID" \
  --data-binary "@query.json"

Isi query.json adalah sebagai berikut:

{
  "query": "SELECT campaign.id, campaign.name, campaign.network_settings.target_content_network FROM campaign ORDER BY campaign.id"
}