Menggunakan OAuth

Maps Datasets 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 Maps Datasets API di lingkungan pengembangan Anda. Untuk mengetahui petunjuk penggunaan OAuth di lingkungan produksi, lihat Autentikasi di Google.

Sebelum memulai

Sebelum mulai menggunakan Maps Datasets API, Anda harus memiliki project dengan akun penagihan dan Maps Datasets API yang 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 individu. Aplikasi Anda memanggil Google API atas nama akun layanan, sehingga pengguna tidak terlibat secara langsung. Untuk mengetahui informasi lebih lanjut tentang metode autentikasi, lihat Autentikasi di Google.

Atau, Anda dapat menggunakan Maps Datasets API sebagai bagian dari aplikasi seluler Android atau iOS. Untuk mengetahui informasi umum tentang cara menggunakan OAuth dengan Maps Datasets API, termasuk informasi tentang cara mengelola token akses untuk lingkungan deployment yang berbeda, lihat Menggunakan OAuth 2.0 untuk Mengakses Google API.

Tentang cakupan OAuth

Untuk menggunakan OAuth dengan Maps Datasets API, token OAuth harus diberi cakupan:

  • https://www.googleapis.com/auth/cloud-platform

Contoh: Coba panggilan REST API di lingkungan pengembangan lokal Anda

Jika Anda ingin mencoba Maps Datasets 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 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:

  1. Jika belum melakukannya, buat project dan aktifkan penagihan dengan mengikuti langkah-langkah di bagian Menyiapkan project di Google Cloud Console.
  2. Instal dan lakukan inisialisasi gcloud CLI.
  3. Jalankan perintah gcloud berikut di komputer lokal Anda untuk membuat file kredensial:

    gcloud auth application-default login
  4. Layar login akan ditampilkan. Setelah Anda login, kredensial Anda akan 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 membuat panggilan ke Maps Datasets API menggunakan token OAuth:

curl -X GET \
-H 'X-Goog-User-Project: PROJECT_NUMBER_OR_ID' \
-H 'Authorization: Bearer $TOKEN' \
https://mapsplatformdatasets.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID/datasets

Pemecahan masalah

Jika permintaan Anda menampilkan pesan error tentang kredensial pengguna akhir yang tidak didukung oleh API ini, lihat Kredensial pengguna tidak berfungsi.