Otorisasi dan Header HTTP

Video: Authentication

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 memberikan otorisasi pada permintaan API. Klien OAuth 2.0 dan akun layanan dapat dikonfigurasi. Untuk mengetahui detail selengkapnya tentang cara mengonfigurasi otorisasi sisi klien, lihat OAuth2 di Google Ads API.

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

Menggunakan alur aplikasi desktop atau web

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 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 dalam panduan Akun Layanan untuk 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 untuk 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, client secret, 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

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

GET /v19/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 secara langsung dari UI Google Ads. Untuk mengetahui detail selengkapnya tentang penyiapan token developer, lihat Mendapatkan Token Developer.

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

GET /v19/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 memberikan header HTTP login-customer-id. Nilai ini mewakili 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 foto profil Anda di sudut kanan atas halaman. Saat menentukan ID pelanggan, pastikan untuk menghapus tanda hubung (—), misalnya: 1234567890, bukan 123-456-7890.

GET /v19/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 mengetahui 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 men-debug atau memecahkan masalah terkait panggilan API tertentu, request-id adalah ID penting yang harus dimiliki saat menghubungi dukungan developer Google.

request-id: 2a5Cj89VV7CNhya1DZjjrC