Menyiapkan Places Aggregate API

Dokumen ini menjelaskan langkah-langkah yang diperlukan untuk mulai menggunakan Places Aggregate API.

Prasyarat

Prosedur ini memandu Anda menyiapkan Akun Google Cloud dan project Google Cloud dengan penagihan yang diaktifkan. Anda juga harus memahami cara penagihan untuk penggunaan Places Aggregate API.

  1. Tinjau penagihan dan biaya penggunaan di Penggunaan dan Penagihan Places Aggregate API.
  2. Pastikan Anda memiliki Akun Google Cloud.

    Login ke Konsol Google Cloud
  3. Pastikan Anda memiliki project Google Cloud dengan penagihan yang diaktifkan.

    Buka halaman Penagihan
    1. Pilih project Anda untuk membuka halaman Billing.
    2. Di halaman Penagihan:

      • Jika penagihan telah diaktifkan untuk project yang dipilih, dan Anda hanya memiliki satu akun penagihan, halaman Billing akan terbuka.
      • Jika Anda memiliki beberapa akun penagihan, pilih Go to linked billing account untuk melihat detail tentang akun penagihan yang terkait dengan project.
      • Jika sudah memiliki akun penagihan, tetapi belum dikaitkan dengan project, Anda akan diminta untuk menautkan akun penagihan dengan project.
      • Jika belum memiliki akun penagihan, atau Anda ingin membuat akun penagihan baru, pilih Manage Billing Accounts untuk membuat akun penagihan baru. Untuk mengetahui informasi selengkapnya, lihat Membuat akun Penagihan Cloud layanan mandiri baru.

Mengaktifkan API

Sebelum dapat menggunakan Places Aggregate API, Anda harus menggunakan Konsol Google Cloud atau perintah gcloud untuk mengaktifkannya di project Google Cloud Anda.

Untuk mengaktifkan API:

Konsol

  1. Buka halaman produk di Konsol Google Cloud:

    Mengaktifkan Places Aggregate API
  2. Klik tombol Enable.

gcloud

gcloud services enable \
    --project "PROJECT" \
    "areainsights.googleapis.com"

Baca selengkapnya tentang Google Cloud SDK, Penginstalan Cloud SDK, dan perintah berikut:

Mendapatkan kunci API untuk digunakan dengan Places Aggregate API

Produk Google Maps Platform dilindungi dari penggunaan yang tidak sah dengan mewajibkan panggilan API untuk menyertakan kunci API atau token OAuth. Prosedur kunci API dilakukan terlebih dahulu. Untuk menggunakan token OAuth, lihat Membuat token OAuth.

Kunci API adalah string alfanumerik unik yang mengaitkan akun Penagihan Cloud dan project Google Cloud Anda dengan permintaan yang dibuat aplikasi Anda ke API atau SDK Google Maps Platform. Untuk membuat kunci baru atau menambahkan API atau SDK ke kunci yang ada, ikuti petunjuk berikut.

Konsol

  1. Buka halaman Google Maps Platform > Keys & Credentials.

    Buka halaman Keys & Credentials

  2. Jika diminta, pilih project Anda.
  3. Lakukan salah satu hal berikut:

    • Buat kunci baru:

      1. Klik Create credentials > API key.
      2. Di panel Buat kunci API, buka daftar Pilih batasan API.
      3. Hapus API yang tidak diperlukan oleh kunci ini, dan pastikan Places Aggregate API tetap dipilih.
      4. Klik Buat. Panel akan menampilkan kunci API baru Anda.
    • Menggunakan kunci yang ada:

      1. Klik nama kunci.
      2. Dalam daftar Select API restrictions, pilih Places Aggregate API.
      3. Klik Simpan.

    Memilih API di sini tidak akan mengaktifkannya. Pastikan Places Aggregate API diaktifkan di halaman Library API-nya.

  4. Untuk melihat string kunci nanti, buka halaman Keys & Credentials, lalu klik Show key untuk kunci tersebut.

Jika konsol terlihat berbeda dari langkah-langkah ini, lihat Membuat kunci API dan Menambahkan pembatasan API dalam dokumentasi Google Cloud.

gcloud

Ganti PROJECT_ID dengan project ID Anda dalam perintah berikut.

  • Buat kunci baru: Jalankan perintah berikut, dan ganti DISPLAY_NAME dengan nama untuk kunci.

    gcloud services api-keys create \
        --project="PROJECT_ID" \
        --display-name="DISPLAY_NAME" \
        --api-target=service=areainsights.googleapis.com

    Baca selengkapnya tentang Google Cloud SDK, Penginstalan Cloud SDK, dan perintah berikut:

  • Gunakan kunci yang ada: Jalankan perintah berikut, dan ganti KEY_ID dengan ID kunci. Flag --append mempertahankan API yang sudah diizinkan oleh kunci. Tanpa parameter ini, perintah akan menggantinya.

    gcloud services api-keys update KEY_ID \
        --project="PROJECT_ID" \
        --append \
        --api-target=service=areainsights.googleapis.com

    Baca selengkapnya tentang Google Cloud SDK, Penginstalan Cloud SDK, dan perintah berikut:

    ID kunci bukanlah string kunci atau nama tampilan. Untuk menemukannya, jalankan gcloud services api-keys list --project="PROJECT_ID". ID adalah bagian terakhir dari kolom name: projects/PROJECT_NUMBER/locations/global/keys/KEY_ID.

Untuk melihat string kunci, jalankan gcloud services api-keys get-key-string KEY_ID --project="PROJECT_ID".

Membuat permintaan API

Contoh ini menunjukkan permintaan untuk menampilkan jumlah restoran di San Francisco yang harganya sedang.

  1. Klik API_KEY dalam kode di bawah untuk menyisipkan string alfanumerik kunci:

    curl --location 'https://areainsights.googleapis.com/v1:computeInsights' \
    --header 'X-Goog-Api-Key: API_KEY' \
    --header 'Content-Type: application/json' \
    --data '{
       "insights":[
          "INSIGHT_COUNT"
       ],
       "filter":{
          "locationFilter":{
             "region":{
                "place":"places/ChIJIQBpAG2ahYAR_6128GcTUEo"
             }
          },
          "typeFilter":{
             "includedTypes":[
                "restaurant"
             ]
          },
          "priceLevels":[
             "PRICE_LEVEL_INEXPENSIVE"
          ]
       }
    }'
    
  2. Klik ikon salin di contoh kode, Pilih ikon salin., untuk menyalin perintah curl.
  3. Tempel perintah di jendela terminal dan jalankan perintah.

Responsnya adalah objek JSON dalam bentuk:

{
  "count": "1025"
}

Menerapkan pembatasan kunci API

Google sangat menyarankan agar Anda membatasi penggunaan kunci API hanya untuk API dan aplikasi yang memerlukannya. Membatasi kunci API akan meningkatkan keamanan aplikasi Anda dengan melindunginya dari permintaan yang tidak sah. Kunci API mendukung dua jenis pembatasan:

  • Pembatasan API menentukan SDK dan API mana yang dapat dipanggil menggunakan kunci API. Konsol dan gcloud CLI memerlukan setidaknya satu pembatasan API saat Anda membuat kunci.
  • Pembatasan aplikasi menentukan situs, alamat IP, atau aplikasi mana yang dapat menggunakan kunci API.

Untuk mengetahui informasi selengkapnya tentang cara menerapkan pembatasan, lihat Membatasi kunci API Anda.

Membuat token OAuth

Places Aggregate API mendukung 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 API Places Aggregate di lingkungan pengembangan Anda. Untuk mengetahui informasi selengkapnya tentang penggunaan OAuth di lingkungan produksi, lihat Metode autentikasi di Google.

Anda dapat memanggil Google Maps API secara langsung dengan membuat permintaan API ke server, atau Anda dapat menggunakan library klien untuk menyederhanakan kode Anda. Google Maps menyediakan library klien untuk Go, Java, Node.js, dan Python. Untuk informasi selengkapnya, lihat Library klien Places Aggregate API.

Ringkasan OAuth

Anda dapat membuat dan mengelola token akses dengan OAuth dalam beberapa cara, bergantung pada lingkungan deployment Anda.

Anda dapat menggunakan OAuth 2.0 untuk interaksi server ke server antara aplikasi Anda dan layanan Google. Untuk skenario ini, Anda menggunakan akun layanan yang terkait dengan aplikasi Anda, bukan pengguna perorangan. Anda dapat membuat permintaan API menggunakan akun layanan tanpa melibatkan pengguna secara langsung. Untuk mengetahui informasi selengkapnya tentang metode autentikasi, lihat Metode autentikasi di Google.

Atau, Anda dapat mengintegrasikan Places Aggregate API ke dalam aplikasi seluler Android atau iOS. Untuk informasi selengkapnya tentang penggunaan OAuth dan pengelolaan token akses untuk berbagai lingkungan deployment, lihat Menggunakan OAuth 2.0 untuk Mengakses Google API.

Cakupan OAuth

Untuk menggunakan OAuth dengan Places Aggregate API, Anda harus menetapkan cakupan berikut ke token OAuth:

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

Contoh: Mencoba panggilan REST API di lingkungan pengembangan lokal Anda

Jika Anda tidak memiliki lingkungan yang menghasilkan token dan ingin mencoba Places Aggregate API dengan token OAuth, gunakan prosedur di bagian ini.

Contoh ini menjelaskan cara menggunakan token OAuth yang disediakan oleh Kredensial Default Aplikasi (ADC) untuk melakukan panggilan. Untuk mengetahui informasi selengkapnya tentang cara menggunakan ADC untuk memanggil Google API dengan library klien, lihat Melakukan autentikasi menggunakan library klien.

Gunakan prosedur REST berikut hanya untuk pengembangan atau pengujian, bukan untuk produksi.

Prasyarat

Sebelum membuat permintaan REST menggunakan ADC, gunakan gcloud CLI untuk memberikan kredensial ke ADC:

  1. Menginstal dan melakukan inisialisasi gcloud CLI. Untuk mengetahui informasi selengkapnya, lihat Menginstal gcloud CLI.

  2. Lakukan autentikasi dengan gcloud CLI:

    gcloud auth application-default login
  3. Selesaikan proses login untuk menyimpan kredensial Anda dalam file kredensial lokal yang digunakan oleh ADC.

Untuk mengetahui informasi selengkapnya, lihat Menyiapkan ADC untuk lingkungan pengembangan lokal.

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 memanggil Places Aggregate API menggunakan token OAuth, selesaikan langkah-langkah berikut:

  1. Dalam contoh kode berikut, ganti PROJECT_NUMBER_OR_ID dengan nomor atau ID project Google Cloud Anda.

    Contoh ini menunjukkan permintaan untuk menampilkan jumlah restoran di San Francisco yang harganya sedang:

    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 $(gcloud auth application-default print-access-token)" \
    --data '{
    "insights":[
      "INSIGHT_COUNT"
    ],
    "filter":{
      "location_filter":{
         "region":{
            "place":"places/ChIJIQBpAG2ahYAR_6128GcTUEo"
         }
      },
      "type_filter":{
         "included_types":[
            "restaurant"
         ]
      },
      "price_levels":[
         "PRICE_LEVEL_INEXPENSIVE"
      ]
    }
    }'
  2. Untuk menyalin perintah curl, klik Copy di contoh kode.

  3. Tempel perintah di jendela terminal, lalu jalankan.

Responsnya adalah objek JSON:

{
  "count": "1025"
}

Pemecahan masalah

Jika permintaan Anda menampilkan pesan error yang menyatakan bahwa API ini tidak mendukung kredensial pengguna akhir, lihat Memecahkan masalah penyiapan ADC.

Langkah berikutnya

Setelah Anda mengaktifkan Places Aggregate API dan berhasil membuat permintaan, lihat Membuat permintaan pertama Anda untuk mempelajari lebih lanjut cara menggunakan API ini.