Places API (Baru) 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 Places API (Baru) di lingkungan pengembangan Anda. Untuk mengetahui petunjuk cara menggunakan OAuth di lingkungan produksi, baca bagian Autentikasi di Google.
Sebelum memulai
Sebelum mulai menggunakan Places API (Baru), Anda harus memiliki project dengan akun penagihan dan Places API (Baru) diaktifkan. Sebaiknya buat beberapa Pemilik Project dan Administrator Penagihan agar selalu ada seseorang yang memiliki peran ini pada tim Anda. Untuk mempelajari lebih lanjut, lihat Menyiapkan project di Konsol Cloud.
Tentang OAuth
Ada banyak cara untuk membuat dan mengelola token akses dengan OAuth berdasarkan lingkungan deployment Anda.
Misalnya, sistem Google OAuth 2.0 mendukung interaksi server-ke-server, seperti interaksi antara aplikasi Anda dan layanan Google. Untuk skenario ini, Anda memerlukan akun layanan, yang merupakan akun milik aplikasi Anda, bukan milik pengguna akhir individual. Aplikasi Anda memanggil Google API atas nama akun layanan, sehingga pengguna tidak terlibat secara langsung. Untuk mengetahui informasi selengkapnya tentang metode autentikasi, lihat Autentikasi di Google.
Atau, Anda dapat menggunakan Places API (Baru) sebagai bagian dari aplikasi seluler Android atau iOS. Untuk informasi umum tentang cara menggunakan OAuth dengan Places API (Baru), termasuk informasi tentang cara mengelola token akses untuk berbagai lingkungan deployment, lihat Menggunakan OAuth 2.0 untuk Mengakses Google API.
Tentang cakupan OAuth
Untuk menggunakan OAuth dengan Places API (Baru), 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 Places API (Baru) menggunakan token OAuth, tetapi tidak memiliki penyiapan lingkungan untuk membuat 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 melakukan panggilan. Untuk mengetahui informasi tentang cara menggunakan ADC untuk memanggil Google API menggunakan library klien, lihat Mengautentikasi menggunakan library klien.
Prasyarat
Sebelum Anda dapat membuat permintaan REST menggunakan ADC, gunakan Google Cloud CLI untuk memberikan kredensial ke ADC:
- Jika belum melakukannya, buat project dan aktifkan penagihan dengan mengikuti langkah-langkah dalam Menyiapkan project di Konsol Google Cloud.
- Instal dan lakukan inisialisasi gcloud CLI.
Jalankan perintah
gcloud
berikut di mesin lokal Anda untuk membuat file kredensial:gcloud auth application-default login
- Layar login akan ditampilkan. Setelah login, kredensial Anda disimpan di file kredensial lokal yang digunakan oleh ADC.
Untuk mengetahui informasi selengkapnya, lihat bagian Lingkungan pengembangan lokal dalam dokumentasi Memberikan kredensial untuk Kredensial Default Aplikasi.
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 telah mengaktifkan penagihan di header
X-Goog-User-Project
. Untuk mempelajari lebih lanjut, lihat Menyiapkan project di Konsol Cloud.
Contoh berikut melakukan panggilan ke Places API (Baru) menggunakan token OAuth:
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia" }' \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "X-Goog-User-Project: PROJECT_ID" \ -H "X-Goog-FieldMask: places.displayName,places.formattedAddress" \ "https://places.googleapis.com/v1/places:searchText"
Pemecahan masalah
Jika permintaan Anda menampilkan pesan error yang menyatakan bahwa kredensial pengguna akhir tidak didukung oleh API ini, lihat Kredensial pengguna tidak berfungsi.