Address Validation API mendukung penggunaan OAuth 2.0 untuk autentikasi. Google mendukung skenario OAuth 2.0 umum, seperti skenario untuk server web.
Dokumen ini menjelaskan cara meneruskan token OAuth ke panggilan Address Validation API dalam pengembangan Google Cloud. Untuk petunjuk tentang penggunaan OAuth di production, lihat Authentication di Google.
Sebelum memulai
Sebelum mulai menggunakan Address Validation API, Anda memerlukan project dengan akun penagihan dan Address Validation API yang diaktifkan. Sebaiknya buat beberapa Project Owner dan Billing Administrator, sehingga selalu ada seseorang yang memiliki peran ini yang tersedia untuk tim Anda. Untuk mempelajari lebih lanjut, lihat Menyiapkan project di Cloud Console.
Tentang OAuth
Ada banyak cara untuk membuat dan mengelola token akses dengan OAuth berdasarkan deployment Anda lingkungan fleksibel App Engine.
Misalnya, sistem Google OAuth 2.0 mendukung interaksi server-ke-server, seperti antara aplikasi Anda dan layanan Google. Untuk skenario ini, Anda memerlukan akun layanan, adalah akun milik aplikasi Anda, bukan milik pengguna akhir individu. Nama aplikasi memanggil Google API atas nama akun layanan, sehingga pengguna tidak terlibat secara langsung. Untuk informasi selengkapnya tentang metode autentikasi, lihat Authentication di Google.
Atau, Anda dapat menggunakan Address Validation API sebagai bagian dari aplikasi seluler Android atau iOS. Untuk informasi umum tentang penggunaan OAuth dengan Address Validation API, termasuk informasi tentang cara mengelola token akses untuk berbagai lingkungan deployment, Menggunakan OAuth 2.0 untuk Mengakses Google API.
Tentang cakupan OAuth
Untuk menggunakan OAuth dengan Address Validation API, token OAuth harus diberi cakupan:
https://www.googleapis.com/auth/cloud-platform
Contoh: Mencoba panggilan REST API di lingkungan pengembangan lokal Anda
Jika Anda ingin mencoba Address Validation API menggunakan token OAuth, tetapi tidak memiliki lingkungan untuk menghasilkan token, Anda dapat menggunakan prosedur di bagian ini untuk melakukan panggilan.
Contoh ini menjelaskan cara menggunakan token OAuth yang disediakan oleh Kredensial Default Aplikasi (ADC) untuk menelepon. Untuk informasi tentang cara menggunakan ADC untuk memanggil Google API menggunakan library klien, lihat Autentikasi menggunakan library klien.
Prasyarat
Agar Anda dapat membuat permintaan REST menggunakan ADC, gunakan Google Cloud CLI untuk memberikan kredensial ke ADC:
- Jika Anda belum melakukannya, buat project dan aktifkan penagihan dengan mengikuti langkah-langkah di Menyiapkan Project di Google Cloud Console.
- Instal dan lakukan inisialisasi gcloud CLI.
Jalankan perintah
gcloud
berikut di komputer lokal Anda untuk membuat file kredensial:gcloud auth application-default login
- Layar login akan ditampilkan. Setelah Anda login, kredensial Anda akan disimpan di file kredensial lokal yang digunakan oleh ADC.
Untuk informasi selengkapnya, lihat Lingkungan pengembangan lokal bagian dari Berikan kredensial untuk Kredensial Default Aplikasi dokumentasi tambahan.
Membuat permintaan REST
Dalam contoh ini, Anda meneruskan dua header permintaan:
Teruskan token OAuth di header
Authorization
menggunakan perintah berikut untuk membuat token:gcloud auth application-default print-access-token
Token yang ditampilkan memiliki cakupan
https://www.googleapis.com/auth/cloud-platform.
- Teruskan ID atau nama project Google Cloud Anda yang penagihannya diaktifkan di
Header
X-Goog-User-Project
. Untuk mempelajari lebih lanjut, lihat Siapkan di Konsol Cloud.
Contoh berikut melakukan panggilan ke Address Validation API menggunakan token OAuth:
curl -X POST -d '{ "address": { "regionCode": "US", "locality": "Mountain View", "addressLines": ["1600 Amphitheatre Pkwy"] } }' \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://addressvalidation.googleapis.com/v1:validateAddress"
Pemecahan masalah
Jika permintaan Anda menampilkan pesan error tentang kredensial pengguna akhir yang tidak didukung oleh API ini, lihat Kredensial pengguna tidak berfungsi.