Places Insights 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 Places Insights API di lingkungan pengembangan Anda. Untuk petunjuk tentang cara menggunakan OAuth di lingkungan produksi, lihat Autentikasi di Google.
Sebelum memulai
Sebelum mulai menggunakan Places Insights API, Anda memerlukan project dengan akun penagihan dan Places Insights API yang diaktifkan. Sebaiknya buat beberapa Project Owner dan Billing Administrator agar selalu ada seseorang yang memiliki peran ini di 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 lingkungan deployment Anda.
Misalnya, sistem OAuth 2.0 Google 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 individu. Aplikasi Anda memanggil Google API atas nama akun layanan, sehingga pengguna tidak terlibat langsung. Untuk informasi selengkapnya tentang metode autentikasi, lihat Autentikasi di Google.
Atau, Anda dapat menggunakan Places Insights API sebagai bagian dari aplikasi seluler Android atau iOS. Untuk informasi umum tentang penggunaan OAuth dengan Places Insights API, 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 Insights API, token OAuth harus diberi cakupan:
https://www.googleapis.com/auth/cloud-platform
Contoh: Mencoba panggilan REST API di lingkungan pengembangan lokal
Jika ingin mencoba Places Insights API 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 informasi tentang cara menggunakan ADC untuk memanggil Google API menggunakan library klien, lihat Autentikasi 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 di bagian Menyiapkan di Google Cloud Console.
- Instal dan lakukan inisialisasi gcloud CLI.
Jalankan perintah
gcloud
berikut di komputer lokal untuk membuat file kredensial:gcloud auth application-default login
- Layar login akan ditampilkan. Setelah login, kredensial Anda disimpan dalam 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 Insights API menggunakan token OAuth:
curl -X POST 'https://areainsights.googleapis.com/v1:computeInsights' \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_NUMBER_OR_ID" \ -H "Authorization: Bearer $TOKEN" \ --data '{ "insights":[ "INSIGHT_COUNT" ], "filter":{ "location_filter":{ "region":{ "place":"places/ChIJIQBpAG2ahYAR_6128GcTUEo" } }, "type_filter":{ "included_types":[ "restaurant" ] }, "price_levels":[ "PRICE_LEVEL_INEXPENSIVE" ] } }'
Pemecahan masalah
Jika permintaan Anda menampilkan pesan error tentang kredensial pengguna akhir yang tidak didukung oleh API ini, lihat Kredensial pengguna tidak berfungsi.