Menyiapkan Weather API

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

Untuk mulai menggunakan Weather API, Anda dapat meminta Maps Demo Key atau menyiapkan akun dan mengaktifkan penagihan.

Mendapatkan Maps Demo Key

Maps Demo Key adalah fitur tanpa biaya yang memungkinkan Anda mulai membuat prototipe dengan Weather API tanpa memasukkan informasi penagihan. Maps Demo Key hanya ditujukan untuk tujuan pengujian dan pembuatan prototipe, dan tidak dirancang untuk penggunaan produksi. Untuk informasi selengkapnya, lihat Mendapatkan Maps Demo Key dan menggunakannya dengan Weather API.

Mendapatkan kunci API standar

Jika Anda sudah siap untuk memindahkan kode ke produksi, selesaikan langkah-langkah berikut untuk membuat kunci API dan mengaktifkan penagihan.

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 Weather API.

  1. Tinjau penagihan dan biaya penggunaan di Penggunaan dan Penagihan Weather 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 Weather 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 Weather API
  2. Klik tombol Enable.

gcloud

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

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

Mendapatkan kunci API untuk digunakan dengan Weather 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 kunci ini, dan pastikan Weather 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 Weather API.
      3. Klik Simpan.

    Memilih API di sini tidak akan mengaktifkannya. Pastikan Weather 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=weather.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=weather.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

Buat permintaan Weather API untuk menampilkan respons JSON berisi informasi kondisi saat ini untuk Mountain View, CA. Anda harus menyertakan string alfanumerik kunci API Anda dengan setiap permintaan dan menggunakan HTTPS untuk permintaan yang menyertakan kunci API.

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

    curl -X GET "https://weather.googleapis.com/v1/currentConditions:lookup?key=YOUR_API_KEY&location.latitude=37.4220&location.longitude=-122.0841"
    
  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:

{
  "currentTime": "2025-07-01T12:33:24.606422609Z",
  "timeZone": {
    "id": "America/Los_Angeles"
  },
  "isDaytime": false,
  "weatherCondition": {
    "iconBaseUri": "https://maps.gstatic.com/weather/v1/partly_clear",
    "description": {
      "text": "Partly cloudy",
      "languageCode": "en"
    },
    "type": "PARTLY_CLOUDY"
  },
  "temperature": {
    "degrees": 16,
    "unit": "CELSIUS"
  },
  "feelsLikeTemperature": {
    "degrees": 16,
    "unit": "CELSIUS"
  },
  "dewPoint": {
    "degrees": 12,
    "unit": "CELSIUS"
  },
  "heatIndex": {
    "degrees": 16,
    "unit": "CELSIUS"
  },
  "windChill": {
    "degrees": 16,
    "unit": "CELSIUS"
  },
  "relativeHumidity": 78,
  "uvIndex": 0,
  "precipitation": {
    "probability": {
      "percent": 3,
      "type": "RAIN"
    },
    "snowQpf": {
      "quantity": 0,
      "unit": "MILLIMETERS"
    },
    "qpf": {
      "quantity": 0,
      "unit": "MILLIMETERS"
    }
  },
  "thunderstormProbability": 0,
  "airPressure": {
    "meanSeaLevelMillibars": 1011.5
  },
  ...
}

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

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

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 Weather API ke dalam aplikasi seluler Android atau iOS. Untuk informasi selengkapnya tentang cara menggunakan OAuth dan mengelola token akses untuk berbagai lingkungan deployment, lihat Menggunakan OAuth 2.0 untuk Mengakses Google API.

Cakupan OAuth

Untuk menggunakan OAuth dengan Weather 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 Weather 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 Weather 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:

    curl -X GET \
    -H 'X-Goog-User-Project: PROJECT_NUMBER_OR_ID' \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    "https://weather.googleapis.com/v1/currentConditions:lookup?location.latitude=37.4220&location.longitude=-122.0841"
  2. Untuk menyalin perintah curl, klik Copy di contoh kode.

  3. Tempel perintah di jendela terminal, lalu jalankan.

Responsnya adalah objek JSON:

{
  "currentTime": "2025-07-01T12:33:24.606422609Z",
  "timeZone": {
    "id": "America/Los_Angeles"
  },
  "isDaytime": false,
  "weatherCondition": {
    "iconBaseUri": "https://maps.gstatic.com/weather/v1/partly_clear",
    "description": {
      "text": "Partly cloudy",
      "languageCode": "en"
    },
    "type": "PARTLY_CLOUDY"
  },
  "temperature": {
    "degrees": 16,
    "unit": "CELSIUS"
  },
  "feelsLikeTemperature": {
    "degrees": 16,
    "unit": "CELSIUS"
  },
  "dewPoint": {
    "degrees": 12,
    "unit": "CELSIUS"
  },
  "heatIndex": {
    "degrees": 16,
    "unit": "CELSIUS"
  },
  "windChill": {
    "degrees": 16,
    "unit": "CELSIUS"
  },
  "relativeHumidity": 78,
  "uvIndex": 0,
  "precipitation": {
    "probability": {
      "percent": 3,
      "type": "RAIN"
    },
    "snowQpf": {
      "quantity": 0,
      "unit": "MILLIMETERS"
    },
    "qpf": {
      "quantity": 0,
      "unit": "MILLIMETERS"
    }
  },
  "thunderstormProbability": 0,
  "airPressure": {
    "meanSeaLevelMillibars": 1011.5
  },
  ...
}

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 Weather API dan berhasil membuat permintaan, lihat Mendapatkan kondisi saat ini untuk mempelajari lebih lanjut cara menggunakan API.