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. Kemudian, aplikasi dapat menggunakan kredensial akun layanan untuk mengelola akun Google Ads pengguna. Library PHP dapat dikonfigurasi sebagai berikut:
$oAuth2Credential = (new OAuth2TokenBuilder())
->withJsonKeyFilePath('PATH_TO_CREDENTIALS_JSON')
->withScopes('https://www.googleapis.com/auth/adwords')
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->withOAuth2Credential($oAuth2Credential)
->withDeveloperToken('INSERT_DEVELOPER_TOKEN_HERE')
->build();
Lihat 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 memberikan akses pengguna ke akun pengelola Google Ads API, dan menautkan semua akun Google Ads di akun pengelola tersebut.
Pengguna tersebut kemudian menjalankan alat command line seperti
GenerateUserCredentialsuntuk mengizinkan aplikasi Anda mengelola semua akun Google Ads mereka atas nama mereka.
Library dapat diinisialisasi menggunakan kredensial OAuth 2.0 pengguna sebagai berikut:
$oAuth2Credential = (new OAuth2TokenBuilder())
->withClientId('INSERT_CLIENT_ID')
->withClientSecret('INSERT_CLIENT_SECRET')
->withRefreshToken('INSERT_REFRESH_TOKEN')
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->withOAuth2Credential($oAuth2Credential)
->withDeveloperToken('INSERT_DEVELOPER_TOKEN_HERE')
->withLoginCustomerId('INSERT_LOGIN_CUSTOMER_ID_HERE')
->build();
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. Library dapat diinisialisasi menggunakan kredensial pengguna sebagai berikut:
$oAuth2Credential = (new OAuth2TokenBuilder())
->withClientId('INSERT_CLIENT_ID')
->withClientSecret('INSERT_CLIENT_SECRET')
->withRefreshToken('INSERT_REFRESH_TOKEN')
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->withOAuth2Credential($oAuth2Credential)
->withDeveloperToken('INSERT_DEVELOPER_TOKEN_HERE')
->withLoginCustomerId('INSERT_LOGIN_CUSTOMER_ID_HERE')
->build();
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 PHP menyediakan contoh kode berikut yang menggambarkan cara menangani kasus tersebut.
-
Contoh kode menunjukkan cara mengambil daftar semua akun dalam akun pengelola Google Ads.
-
Contoh kode menunjukkan cara mengambil daftar semua akun yang akses langsungnya dimiliki pengguna. Akun ini kemudian dapat digunakan sebagai nilai yang valid untuk setelan
loginCustomerId.