Otorisasi dan Header HTTP

Video: Autentikasi

Anda memerlukan kredensial aplikasi OAuth 2.0 dan token developer saat memanggil Google Ads API. Jika melakukan panggilan API dengan akun pengelola Google Ads, Anda juga harus menentukan header login-customer-id dengan setiap permintaan. Halaman ini menjelaskan cara menetapkan nilai ini dan mendokumentasikan beberapa header HTTP khusus API tambahan yang dikirim dan diterima saat menggunakan antarmuka REST.

Kredensial OAuth 2.0

Google Ads API menggunakan kredensial aplikasi untuk mengidentifikasi dan memberi otorisasi permintaan API. Klien OAuth 2.0 dan akun layanan dapat dikonfigurasi. Untuk detail selengkapnya tentang cara mengonfigurasi otorisasi sisi klien, lihat OAuth2 di Google Ads API.

Jika baru menggunakan Google API, Anda dapat menggunakan oauth2l atau Playground OAuth 2.0 untuk bereksperimen dengan kredensial aplikasi dan Google Ads API sebelum menulis kode untuk aplikasi Anda.

Menggunakan alur aplikasi web atau desktop

Ikuti langkah-langkah untuk mengonfigurasi project Konsol API Google untuk Google Ads API. Catat client ID dan rahasia klien, lalu kembali ke halaman ini.

Setelah Anda membuat klien OAuth, ikuti petunjuk alur aplikasi desktop atau petunjuk alur aplikasi web untuk membuat token refresh dan token akses.

Menggunakan akun layanan

Ikuti petunjuk umum di panduan Akun Layanan guna menyiapkan akses akun layanan untuk Google Ads API.

Setelah menyiapkan akun layanan untuk mengakses akun Google Ads, ikuti panduan Menggunakan OAuth 2.0 untuk Aplikasi Server ke Server, pastikan Anda memilih tab HTTP/REST. scope yang akan digunakan untuk akses Google Ads API adalah https://www.googleapis.com/auth/adwords.

Membuat token akses baru

Setelah memiliki client ID, rahasia klien, dan token refresh, Anda dapat membuat token akses baru untuk digunakan dalam panggilan API dengan alat command line curl:

curl \
  --data "grant_type=refresh_token" \
  --data "client_id=CLIENT_ID" \
  --data "client_secret=CLIENT_SECRET" \
  --data "refresh_token=REFRESH_TOKEN" \
  https://www.googleapis.com/oauth2/v3/token

Selanjutnya, gunakan token akses yang ditampilkan oleh permintaan curl di header HTTP Authorization dari setiap panggilan API ke Google Ads API:

GET /v16/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

Header permintaan

Token Developer

Google Ads API juga memerlukan token developer untuk melakukan panggilan ke API. Anda dapat mengajukan permohonan token untuk akun pengelola langsung dari UI Google Ads. Untuk mengetahui detail selengkapnya tentang cara menyiapkan token developer, lihat Mendapatkan Token Developer.

Anda harus menyertakan nilai token developer di header HTTP developer-token pada setiap panggilan API ke Google Ads API:

GET /v16/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

ID pelanggan login

Untuk panggilan Google Ads API yang dilakukan oleh pengelola ke akun klien (yaitu, saat login sebagai pengelola untuk melakukan panggilan API ke salah satu akun kliennya), Anda juga harus menyediakan header HTTP login-customer-id. Nilai ini menunjukkan ID pelanggan Google Ads dari pengelola yang melakukan panggilan API.

Menyertakan header ini sama dengan memilih akun di UI Google Ads setelah login atau mengklik gambar profil Anda di sudut kanan atas halaman. Saat menentukan ID pelanggan, pastikan untuk menghapus tanda hubung (—), misalnya: 1234567890, bukan 123-456-7890.

GET /v16/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN
login-customer-id: MANAGER_CUSTOMER_ID

ID pelanggan tertaut

Header ini hanya digunakan oleh penyedia analisis aplikasi pihak ketiga saat mengupload konversi ke akun Google Ads tertaut. Lihat panduan Struktur Panggilan API untuk detail selengkapnya.

...
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN
login-customer-id: MANAGER_CUSTOMER_ID
linked-customer-id: LINKED_CUSTOMER_ID

Header respons

Header berikut ditampilkan dalam respons HTTP dari API.

ID Permintaan

request-id adalah string yang secara unik mengidentifikasi permintaan API. Saat melakukan proses debug atau memecahkan masalah terkait panggilan API tertentu, request-id adalah ID penting yang dapat digunakan saat menghubungi dukungan developer Google.

request-id: 2a5Cj89VV7CNhya1DZjjrC