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. Library dikonfigurasi sebagai berikut:
// Initialize a GoogleAdsConfig class.
GoogleAdsConfig config = new GoogleAdsConfig()
{
DeveloperToken = "******",
OAuth2Mode = OAuth2Flow.SERVICE_ACCOUNT,
OAuth2SecretsJsonPath = "PATH_TO_CREDENTIALS_JSON",
LoginCustomerId = ******
};
// Initialize a GoogleAdsClient class.
GoogleAdsClient client = new GoogleAdsClient(config);
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 menjalankan alat seperti gcloud CLI atau
contoh kode
GenerateUserCredentials
untuk memberi otorisasi aplikasi Anda untuk mengelola semua akun Google Ads mereka atas nama mereka.
Library dapat diinisialisasi menggunakan kredensial OAuth 2.0 pengguna sebagai berikut:
GoogleAdsConfig googleAdsConfig = new GoogleAdsConfig()
{
DeveloperToken = DEVELOPER_TOKEN,
LoginCustomerId = LOGIN_CUSTOMER_ID,
OAuth2ClientId = OAUTH_CLIENT_ID,
OAuth2ClientSecret = OAUTH_CLIENT_SECRET,
OAuth2RefreshToken = REFRESH_TOKEN,
};
GoogleAdsClient googleAdsClient = new GoogleAdsClient(googleAdsConfig);
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 membangun dan mengelola kredensial pengguna OAuth 2.0. Library dapat diinisialisasi menggunakan kredensial pengguna sebagai berikut:
GoogleAdsConfig googleAdsConfig = new GoogleAdsConfig()
{
DeveloperToken = DEVELOPER_TOKEN,
LoginCustomerId = LOGIN_CUSTOMER_ID,
OAuth2ClientId = OAUTH_CLIENT_ID,
OAuth2ClientSecret = OAUTH_CLIENT_SECRET,
OAuth2RefreshToken = REFRESH_TOKEN,
};
GoogleAdsClient googleAdsClient = new GoogleAdsClient(googleAdsConfig);
Lihat panduan alur kerja autentikasi multi-pengguna untuk mempelajari lebih lanjut. Library klien .NET menyertakan dua contoh kode untuk referensi:
Contoh kode
AuthenticateInAspNetCoreApplication
mengilustrasikan cara membuat aplikasi web yang mendapatkan autentikasi pengguna saat runtime untuk mengelola akun Google Ads mereka atas nama mereka. Aplikasi menggunakan kredensial OAuth 2.0 pengguna untuk mengambil kampanye di akun Google Ads miliknya.GenerateUserCredentials adalah contoh kode command line yang menggambarkan cara mendapatkan autentikasi pengguna saat runtime untuk mengelola akun Google Ads mereka atas nama mereka. Anda dapat menggunakan contoh kode ini sebagai referensi untuk membangun aplikasi desktop yang memerlukan autentikasi pengguna.
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 .NET menyediakan contoh kode berikut yang menggambarkan cara menangani kasus tersebut.
- Contoh kode GetAccountHierarchy menunjukkan cara mengambil daftar semua akun dalam akun pengelola Google Ads.
- Contoh kode ListAccessibleCustomers menunjukkan
cara mengambil daftar semua akun yang dapat diakses langsung oleh pengguna.
Akun ini kemudian dapat digunakan sebagai nilai yang valid untuk setelan
LoginCustomerId
.