Maps JavaScript API: Mendapatkan Kunci API atau Client ID

Catatan: Premium Plan Google Maps Platform tidak lagi tersedia untuk pendaftar atau pelanggan baru.

Memilih metode autentikasi

Untuk menggunakan Maps JavaScript API:

  • Pelanggan dengan Premium Plan dapat menggunakan kunci API atau client ID untuk mengautentikasi permintaan.
  • Pelanggan dengan lisensi sebelumnya harus menggunakan client ID untuk mengautentikasi permintaan.

Punya Premium Plan atau lisensi sebelumnya?
Untuk mengetahui lisensi yang Anda miliki:
> Di Portal Dukungan Google Cloud, klik Maps: Laporan Penggunaan di sebelah kiri.
> Apakah ID di bagian atas laporan memiliki format berikut?
   gme-[company] & proj-[number] ([type])
Jika ya, berarti Anda memiliki Premium Plan.
Jika tidak, berarti Anda memiliki lisensi sebelumnya (Maps API for Work atau Maps API for Business).

Alat dan laporan yang tersedia di setiap metode autentikasi dirangkum di sini:

  • Autentikasi menggunakan kunci API (Premium Plan)
    Dengan menggunakan kunci API untuk mengautentikasi permintaan, Anda dapat:
  • Autentikasi menggunakan Client ID (Premium Plan atau lisensi sebelumnya)
    Dengan menggunakan client ID untuk mengautentikasi permintaan, Anda dapat:
    • Menambahkan parameter channel ke permintaan sehingga Anda dapat melihat laporan penggunaan yang lebih detail.
    • Melihat laporan penggunaan berisi data lebih dari 30 hari di Portal Dukungan Google Cloud.
    • Menggunakan alat Maps Analytics untuk Maps JavaScript API.

Dapatkan informasi selengkapnya tentang laporan yang tersedia untuk pelanggan Premium Plan.

Autentikasi menggunakan kunci API

Membuat kunci API

Kunci API adalah ID unik yang mengautentikasi permintaan terkait project untuk tujuan penggunaan dan penagihan. Anda harus memiliki setidaknya satu kunci API terkait project.

Untuk membuat kunci API:

  1. Di GCP Console, pada halaman pemilih project, pilih atau buat project Google Cloud yang ingin Anda tambahkan kunci API.

    Buka halaman pemilih project

    Catatan: Untuk mendapatkan akses penuh ke fitur yang terdapat dalam paketnya, pelanggan Premium harus menggunakan project yang terkait dengan akun Premium mereka. Saat membeli lisensi, Anda menerima nama aset Premium Anda dalam format berikut: gme-[company] & proj-[number] ([type]). Untuk memastikan Anda mengakses project yang benar, login ke konsol sebagai pemilik project menggunakan console.cloud.google.com/project/number (ganti number dengan nomor project Anda). Anda dapat menemukan pemilik project di email selamat datang.

  2. Buka halaman API & Layanan > Kredensial.

    Buka halaman Kredensial

  3. Pada halaman Kredensial, klik Buat kredensial > Kunci API.
    Dialog Kunci API dibuat menampilkan kunci API yang baru dibuat.
  4. Klik Tutup.
    Kunci API baru dicantumkan pada halaman Kredensial di bagian Kunci API.
    (Jangan lupa untuk membatasi kunci API sebelum menggunakannya dalam produksi.)

Menambahkan kunci API ke aplikasi

Anda harus menyertakan kunci API bersama setiap permintaan Maps JavaScript API. Pada contoh berikut, ganti YOUR_API_KEY dengan kunci API Anda.

<script async defer src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap"
type="text/javascript"></script>

Membatasi kunci API

Membatasi Kunci API akan menambahkan keamanan ke aplikasi Anda dengan memastikan hanya permintaan sah yang dibuat dengan Kunci API Anda. Sebaiknya Anda mengikuti petunjuk untuk menetapkan pembatasan pada Kunci API Anda. Untuk mengetahui informasi selengkapnya, lihat Praktik Terbaik Kunci API.

Cara membatasi kunci API:

  1. Di GCP Console, pada halaman pemilih project, pilih atau buat project Google Cloud yang ingin Anda tambahkan kunci API.

    Buka halaman pemilih project

  2. Buka halaman API & Layanan > Kredensial.

    Buka halaman Kredensial

  3. Pilih kunci API yang ingin Anda tetapkan pembatasannya. Halaman properti kunci API akan muncul.
  4. Di bagian Pembatasan kunci, tetapkan pembatasan berikut:
    • Pembatasan aplikasi:
      1. Untuk menerima permintaan dari daftar situs yang Anda berikan, pilih Perujuk HTTP (situs) dari daftar Pembatasan aplikasi.
      2. Tentukan satu atau beberapa situs web perujuk. Misalnya, *.google.com menerima semua situs yang diakhiri dengan google.com, seperti https://developers.google.com.

        Catatan: Perujuk file:// memerlukan representasi khusus untuk ditambahkan ke pembatasan kunci. Bagian "file://" harus diganti dengan "__file_url__" sebelum ditambahkan ke pembatasan kunci. Misalnya, "file:///path/to/" harus diformat sebagai "__file_url__//path/to/*". Setelah mengaktifkan perujuk file://, sebaiknya periksa penggunaan Anda secara teratur untuk memastikan kecocokannya dengan ekspektasi Anda.

    • Pembatasan API:
      1. Klik Batasi kunci.
      2. Pilih Maps JavaScript API dari menu drop-down Pilih API.
        (Jika Maps JavaScript API tidak tercantum, Anda harus mengaktifkannya.)
      3. Jika project Anda menggunakan Library Places, pilih juga Places API. Demikian juga jika project Anda menggunakan layanan lain di JavaScript API (Layanan Directions, Layanan Distance Matrix, Layanan Elevation, dan/atau Layanan Geocoding), Anda juga harus mengaktifkan dan memilih API yang sesuai dalam daftar ini.
  5. Untuk menyelesaikan perubahan, klik Simpan.

Autentikasi menggunakan client ID

Setelah membeli lisensi Premium Plan Google Maps Platform, Anda akan menerima email selamat datang dari Google yang berisi client ID, yang mengizinkan akses ke berbagai laporan dan alat Premium Plan Google Maps Platform.

Semua client ID diawali dengan gme-. Berikut adalah format dari client ID standar.

gme-[company] & proj-[number] ([type])

Anda dapat mengautentikasi permintaan Anda dengan Maps JavaScript API menggunakan client ID bersama pendaftaran URL (bukan kunci API).

Catatan: Client ID ini bukan kunci, dan hanya dapat digunakan oleh URL yang Anda otorisasi. Baca cara mendaftarkan URL yang diotorisasi selengkapnya.

Menetapkan client ID saat memuat API

Kode di bawah ini menunjukkan cara mengganti YOUR_CLIENT_ID dengan client ID Anda sendiri saat memuat Maps JavaScript API.

  <script async defer
  src="https://maps.googleapis.com/maps/api/js?client=YOUR_CLIENT_ID&v=quarterly&callback=initMap"></script>

Anda harus menentukan versi rilis (juga disebut sebagai versi fitur-stabil) atau versi terdahulu, dengan menambahkan parameter v=quarterly. Aplikasi yang menggunakan versi eksperimental tidak tercakup dalam SLA Premium Plan Google Maps Platform.

Catatan: Jika sebelumnya Anda menggunakan kunci API untuk autentikasi dan beralih untuk menggunakan client ID, Anda harus menghapus parameter key sebelum memuat API. API akan gagal dimuat jika client ID dan kunci API disertakan bersamaan.

Mendaftarkan URL resmi

Untuk mencegah pihak ketiga menggunakan client ID Anda di situs mereka sendiri, penggunaan client ID Anda dibatasi pada daftar URL yang secara spesifik Anda otorisasi.

Untuk melihat URL yang sudah Anda otorisasi atau untuk memberi otorisasi URL tambahan:

  1. Login ke Portal Dukungan Google Cloud.
  2. Di menu sebelah kiri, klik Maps: Kelola Client ID.

Anda dapat menambahkan hingga 100 URL sekaligus. Sebuah Client ID dapat dikaitkan dengan hingga 3.000 URL yang telah diotorisasi. Jika Anda ingin aplikasi Anda menghosting lebih dari 3.000 lokasi konten Google Maps, sebaiknya Anda beralih menggunakan kunci API.

Pertimbangan berikut berlaku sehubungan dengan URL yang diotorisasi:

Nama domain atau alamat IP tidak wajib harus bisa diakses oleh umum.
Misalnya, http://myintranet dan http://192.168.1.1 adalah entri yang valid.
Semua subdomain dari domain yang telah ditetapkan juga diotorisasi.
Misalnya, jika http://example.com diotorisasi, berarti http://www.example.com juga diotorisasi. Hal sebaliknya tidak berlaku: jika http://www.example.com diotorisasi, http://example.com belum tentu diotorisasi.
Semua sub-jalur dari jalur yang telah diotorisasi juga akan diotorisasi.
Misalnya, jika http://example.com diotorisasi, berarti http://example.com/foo juga diotorisasi. Selain itu, karena subdomain dari domain yang telah ditetapkan juga diotorisasi, berarti http://sub.example.com/bar diotorisasi.
Jalur membedakan huruf besar dan kecil.
Misalnya, http://www.example.com/ThisPath/ tidak sama seperti http://www.example.com/thispath/.
Anda dapat membatasi URL yang valid pada URL yang menggunakan port tertentu.
Misalnya, jika http://example.com:8080/foo ditetapkan, tidak berarti akan mengotorisasi http://example.com.
Protokol HTTP dan HTTPS dianggap URL yang berbeda.
Misalnya, jika https://example.com diotorisasi, http://example.com belum tentu diotorisasi.

Semua aturan di atas berlaku pada setiap otorisasi, jadi Anda harus berhati-hati merencanakan otorisasi. Misalnya, karena semua sub-jalur dari jalur yang ditetapkan diotorisasi, serta semua subdomain, Anda mungkin akhirnya mengotorisasi halaman yang tidak ingin diotorisasi. Contoh:

http://example.com/ juga mengotorisasi http://sub.example.com/path.

Untuk informasi selengkapnya, lihat Pemecahan Masalah Otorisasi URL Premium Plan Google Maps Platform.