Struktur Panggilan API

Panduan ini menjelaskan struktur umum semua panggilan API.

Jika Anda menggunakan library klien untuk berinteraksi dengan API, Anda tidak perlu mengetahui detail permintaan yang mendasarinya. Namun, beberapa pengetahuan tentang struktur panggilan API dapat berguna saat menguji dan men-debug.

Google Ads API adalah gRPC API, dengan binding REST. Artinya, ada dua cara untuk melakukan panggilan ke API.

Pilihan:

  1. Buat isi permintaan sebagai buffer protokol.

  2. Kirim ke server menggunakan HTTP/2.

  3. Lakukan deserialisasi respons ke buffer protokol.

  4. Menginterpretasi hasil.

Sebagian besar dokumentasi kami menjelaskan cara menggunakan gRPC.

Opsional:

  1. Buat isi permintaan sebagai objek JSON.

  2. Kirim ke server menggunakan HTTP 1.1.

  3. Deserialisasi respons sebagai objek JSON.

  4. Menginterpretasi hasil.

Lihat panduan REST interface untuk mengetahui informasi selengkapnya tentang cara menggunakan REST.

Nama resource

Sebagian besar objek di API diidentifikasi oleh string nama resource-nya. String ini juga berfungsi sebagai URL saat menggunakan antarmuka REST. Lihat Nama Resource REST API untuk mengetahui strukturnya.

ID Komposit

Jika ID objek tidak unik secara global, ID komposit untuk objek tersebut dibuat dengan menambahkan ID induk dan tilde (~).

Misalnya, karena ID iklan grup iklan tidak unik secara global, kami menambahkan ID objek induk (grup iklan) di depannya untuk membuat ID gabungan yang unik:

  • AdGroupId dari 123 + ~ + AdGroupAdId dari 45678 = iklan komposit ID iklan grup iklan dari 123~45678.

Header permintaan

Berikut adalah header HTTP (atau metadata grpc) yang menyertai isi dalam permintaan:

Otorisasi

Anda harus menyertakan token akses OAuth2 dalam bentuk Authorization: Bearer YOUR_ACCESS_TOKEN yang mengidentifikasi akun pengelola yang bertindak atas nama klien, atau pengiklan yang mengelola akunnya sendiri secara langsung. Petunjuk untuk mengambil token akses dapat ditemukan di panduan OAuth2. Token akses berlaku selama satu jam setelah Anda mendapatkannya; saat masa berlakunya berakhir, refresh token akses untuk mengambil token baru. Perhatikan bahwa library klien kami otomatis memperbarui token yang telah habis masa berlakunya.

developer-token

Token developer adalah string 22 karakter yang secara unik mengidentifikasi developer Google Ads API. Contoh string token developer adalah ABcdeFGH93KL-NOPQ_STUv. Token developer harus disertakan dalam format developer-token : ABcdeFGH93KL-NOPQ_STUv.

login-customer-id

Ini adalah ID pelanggan dari pelanggan resmi yang akan digunakan dalam permintaan, tanpa tanda hubung (-). Jika akses Anda ke akun pelanggan melalui akun pengelola, header ini wajib dan harus ditetapkan ke ID pelanggan akun pengelola.

https://googleads.googleapis.com/v21/customers/1234567890/campaignBudgets:mutate

Menetapkan login-customer-id sama dengan memilih akun di UI Google Ads setelah login atau mengklik foto profil Anda di kanan atas. Jika Anda tidak menyertakan header ini, defaultnya adalah pelanggan yang beroperasi.

linked-customer-id

Header ini hanya digunakan oleh [penyedia analisis aplikasi pihak ketiga saat mengupload konversi ke akun Google Ads yang tertaut.

Pertimbangkan skenario saat pengguna di akun A memberikan akses baca dan edit ke entitasnya ke akun B melalui ThirdPartyAppAnalyticsLink. Setelah ditautkan, pengguna di akun B dapat melakukan panggilan API terhadap akun A, tunduk pada izin yang diberikan oleh penautan. Dalam hal ini, izin panggilan API ke akun A ditentukan oleh penautan pihak ketiga ke akun B, bukan hubungan akun pengelola yang digunakan dalam panggilan API lainnya.

Penyedia analisis aplikasi pihak ketiga melakukan panggilan API sebagai berikut:

  • linked-customer-id: Akun analisis aplikasi pihak ketiga yang mengupload data (akun B).
  • customer-id: Akun Google Ads tempat data diupload (akun A).
  • Header login-customer-id dan Authorization: Kombinasi nilai untuk mengidentifikasi pengguna yang memiliki akses ke akun B.

Header respons

Header berikut (atau grpc trailing-metadata) ditampilkan dengan isi respons. Sebaiknya Anda mencatat nilai ini untuk tujuan proses debug.

request-id

request-id adalah string yang mengidentifikasi permintaan ini secara unik.