Pobieranie prognozy dziennej

Punkt końcowy forecast.days zwraca informacje o prognozie na maksymalnie 10 dni dla określonej lokalizacji, począwszy od bieżącego dnia. Interfejs API zwraca te informacje:

  • Opis warunków pogodowych w ciągu dnia (od 7:00 do 19:00) i w nocy (od 19:00 do 7:00) z odpowiednimi ikonami.
  • dzienne temperatury maksymalne i minimalne,
  • dzienną maksymalną i minimalną temperaturę odczuwalną;
  • Indeks ciepła
  • Wilgotność względna
  • Indeks UV
  • Prawdopodobieństwo, odsetek, ilość i rodzaj opadów
  • Prawdopodobieństwo burz
  • Ciśnienie na poziomie morza
  • Temperatura odczuwalna
  • Wiatr: kierunek, prędkość i porywy
  • Grubość lodu
  • Widoczność i zachmurzenie
  • Codzienne godziny wschodu i zachodu słońca oraz wschodu i zachodu księżyca

Narzędzie API Explorer umożliwia wysyłanie żądań w czasie rzeczywistym, dzięki czemu możesz zapoznać się z interfejsem API i jego opcjami:

Informacje o prośbach o prognozę dzienną

Aby poprosić o aktualne warunki, wyślij żądanie HTTP GET na adres:

https://weather.googleapis.com/v1/forecast/days:lookup?key=YOUR_API_KEY&location.latitude=LATITUDE&location.longitude=LONGITUDE

W żądaniu uwzględnij współrzędne szerokości i długości geograficznej lokalizacji w parametrach adresu URL.

Przykłady żądań prognozy dziennej

Domyślnie punkt końcowy forecast.days zwraca dane z 10 dni, począwszy od bieżącej godziny. Za pomocą parametru days możesz ograniczyć zakres żądania do określonej liczby dni.

W tym przykładzie wysyłamy prośbę o informacje o prognozie dziennej na najbliższe 2 dni dla Mountain View w Kalifornii:

curl -X GET "https://weather.googleapis.com/v1/forecast/days:lookup?key=YOUR_API_KEY&location.latitude=37.4220&location.longitude=-122.0841&days=2"

W odpowiedzi obiekt interval wskazuje informacje z każdego dnia:

{
  "forecastDays": [
    {
      "interval": {
        "startTime": "2025-02-10T15:00:00Z",
        "endTime": "2025-02-11T15:00:00Z"
      },
      "displayDate": {
        "year": 2025,
        "month": 2,
        "day": 10
      },
      "daytimeForecast": {
        "interval": {
          "startTime": "2025-02-10T15:00:00Z",
          "endTime": "2025-02-11T03:00:00Z"
        },
        "weatherCondition": {
          "iconBaseUri": "https://maps.gstatic.com/weather/v1/partly_cloudy",
          "description": {
            "text": "Partly sunny",
            "languageCode": "en"
          },
          "type": "PARTLY_CLOUDY"
        },
        "relativeHumidity": 54,
        "uvIndex": 3,
        "precipitation": {
          "probability": {
            "percent": 5,
            "type": "RAIN"
          },
          "qpf": {
            "quantity": 0,
            "unit": "MILLIMETERS"
          }
        },
        "thunderstormProbability": 0,
        "wind": {
          "direction": {
            "degrees": 280,
            "cardinal": "WEST"
          },
          "speed": {
            "value": 6,
            "unit": "KILOMETERS_PER_HOUR"
          },
          "gust": {
            "value": 14,
            "unit": "KILOMETERS_PER_HOUR"
          }
        },
        "cloudCover": 53
      },
      "nighttimeForecast": {
        "interval": {
          "startTime": "2025-02-11T03:00:00Z",
          "endTime": "2025-02-11T15:00:00Z"
        },
        "weatherCondition": {
          "iconBaseUri": "https://maps.gstatic.com/weather/v1/partly_clear",
          "description": {
            "text": "Partly cloudy",
            "languageCode": "en"
          },
          "type": "PARTLY_CLOUDY"
        },
        "relativeHumidity": 85,
        "uvIndex": 0,
        "precipitation": {
          "probability": {
            "percent": 10,
            "type": "RAIN_AND_SNOW"
          },
          "qpf": {
            "quantity": 0,
            "unit": "MILLIMETERS"
          }
        },
        "thunderstormProbability": 0,
        "wind": {
          "direction": {
            "degrees": 201,
            "cardinal": "SOUTH_SOUTHWEST"
          },
          "speed": {
            "value": 6,
            "unit": "KILOMETERS_PER_HOUR"
          },
          "gust": {
            "value": 14,
            "unit": "KILOMETERS_PER_HOUR"
          }
        },
        "cloudCover": 70
      },
      "maxTemperature": {
        "degrees": 13.3,
        "unit": "CELSIUS"
      },
      "minTemperature": {
        "degrees": 1.5,
        "unit": "CELSIUS"
      },
      "feelsLikeMaxTemperature": {
        "degrees": 13.3,
        "unit": "CELSIUS"
      },
      "feelsLikeMinTemperature": {
        "degrees": 1.5,
        "unit": "CELSIUS"
      },
      "sunEvents": {
        "sunriseTime": "2025-02-10T15:02:35.703929582Z",
        "sunsetTime": "2025-02-11T01:43:00.762932858Z"
      },
      "moonEvents": {
        "moonPhase": "WAXING_GIBBOUS",
        "moonriseTimes": [
          "2025-02-10T23:54:17.713157984Z"
        ],
        "moonsetTimes": [
          "2025-02-10T14:13:58.625181191Z"
        ]
      },
      "maxHeatIndex": {
        "degrees": 13.3,
        "unit": "CELSIUS"
      },
      "iceThickness": {
        "thickness": 0,
        "unit": "MILLIMETERS"
      }
    },
    {
      "interval": {
        "startTime": "2025-02-11T15:00:00Z",
        "endTime": "2025-02-12T15:00:00Z"
      },
      "displayDate": {
        "year": 2025,
        "month": 2,
        "day": 11
      },
      "daytimeForecast": {
        "interval": {
          "startTime": "2025-02-11T15:00:00Z",
          "endTime": "2025-02-12T03:00:00Z"
        },
        "weatherCondition": {
          "iconBaseUri": "https://maps.gstatic.com/weather/v1/scattered_showers",
          "description": {
            "text": "Scattered showers",
            "languageCode": "en"
          },
          "type": "SCATTERED_SHOWERS"
        },
      /.../
      }
    }
  ],
  "timeZone": {
    "id": "America/Los_Angeles"
  }
}

Określanie liczby dni do zwrócenia na stronie

Za pomocą parametru adresu URL pageSize możesz określić liczbę dni danych, które mają być zwracane na stronie. Wartość domyślna to 5 dni informacji o prognozie na stronie.

Odpowiedzi zawierające wiele stron informacji są oznaczone symbolem nextPageToken. Aby wyświetlić następną stronę informacji, przekaż wartość nextPageToken do parametru pageToken w żądaniu.

Ten przykład zawiera żądanie danych prognozy pogody na 6 dni dla Mountain View w Kalifornii, z 3 dniami danych na stronie:

curl -X GET "https://weather.googleapis.com/v1/forecast/days:lookup?key=YOUR_API_KEY&location.latitude=37.4220&location.longitude=-122.0841&days=6&pageSize=3"

Odpowiedź, która zawiera dane z pierwszych 3 dni, ma postać:

{
  "forecastDays": [
    {
      "interval": {
        "startTime": "2025-02-10T15:00:00Z",
        "endTime": "2025-02-11T15:00:00Z"
      },
      "displayDate": {
        "year": 2025,
        "month": 2,
        "day": 10
      },
      "daytimeForecast": {
        "interval": {
          "startTime": "2025-02-10T15:00:00Z",
          "endTime": "2025-02-11T03:00:00Z"
        },
        "weatherCondition": {
          "iconBaseUri": "https://maps.gstatic.com/weather/v1/partly_cloudy",
          "description": {
            "text": "Partly sunny",
            "languageCode": "en"
          },
          "type": "PARTLY_CLOUDY"
        },
        "relativeHumidity": 52,
        "uvIndex": 3,
        "precipitation": {
          "probability": {
            "percent": 5,
            "type": "RAIN"
          },
          "qpf": {
            "quantity": 0,
            "unit": "MILLIMETERS"
          }
        },
        "thunderstormProbability": 0,
        "wind": {
          "direction": {
            "degrees": 280,
            "cardinal": "WEST"
          },
          "speed": {
            "value": 6,
            "unit": "KILOMETERS_PER_HOUR"
          },
          "gust": {
            "value": 14,
            "unit": "KILOMETERS_PER_HOUR"
          }
        },
        "cloudCover": 53
      },
      "nighttimeForecast": {
        "interval": {
          "startTime": "2025-02-11T03:00:00Z",
          "endTime": "2025-02-11T15:00:00Z"
        },
        "weatherCondition": {
          "iconBaseUri": "https://maps.gstatic.com/weather/v1/partly_clear",
          "description": {
            "text": "Partly cloudy",
            "languageCode": "en"
          },
          "type": "PARTLY_CLOUDY"
        },
        "relativeHumidity": 85,
        "uvIndex": 0,
        "precipitation": {
          "probability": {
            "percent": 10,
            "type": "RAIN_AND_SNOW"
          },
          "qpf": {
            "quantity": 0,
            "unit": "MILLIMETERS"
          }
        },
        "thunderstormProbability": 0,
        "wind": {
          "direction": {
            "degrees": 201,
            "cardinal": "SOUTH_SOUTHWEST"
          },
          "speed": {
            "value": 6,
            "unit": "KILOMETERS_PER_HOUR"
          },
          "gust": {
            "value": 14,
            "unit": "KILOMETERS_PER_HOUR"
          }
        },
        "cloudCover": 69
      },
      "maxTemperature": {
        "degrees": 13.5,
        "unit": "CELSIUS"
      },
      "minTemperature": {
        "degrees": 1.5,
        "unit": "CELSIUS"
      },
      "feelsLikeMaxTemperature": {
        "degrees": 13.5,
        "unit": "CELSIUS"
      },
      "feelsLikeMinTemperature": {
        "degrees": 1.5,
        "unit": "CELSIUS"
      },
      "sunEvents": {
        "sunriseTime": "2025-02-10T15:02:35.703929582Z",
        "sunsetTime": "2025-02-11T01:43:00.762932858Z"
      },
      "moonEvents": {
        "moonPhase": "WAXING_GIBBOUS",
        "moonriseTimes": [
          "2025-02-10T23:54:17.713157984Z"
        ],
        "moonsetTimes": [
          "2025-02-10T14:13:58.625181191Z"
        ]
      },
      "maxHeatIndex": {
        "degrees": 13.5,
        "unit": "CELSIUS"
      },
      "iceThickness": {
        "thickness": 0,
        "unit": "MILLIMETERS"
      }
    },
    {
      "interval": {
        "startTime": "2025-02-11T15:00:00Z",
        "endTime": "2025-02-12T15:00:00Z"
      },
      "displayDate": {
        "year": 2025,
        "month": 2,
        "day": 11
      },
      /.../
    },
    {
      "interval": {
        "startTime": "2025-02-12T15:00:00Z",
        "endTime": "2025-02-13T15:00:00Z"
      },
      "displayDate": {
        "year": 2025,
        "month": 2,
        "day": 12
      },
      /.../
    }
  ],
  "timeZone": {
    "id": "America/Los_Angeles"
  },
  "nextPageToken": "ChYKEgm8dJMYBLZCQBH-ZffkYYVewBAGEAMYAyILCKyAqr0GEKOR6lUqE0FtZXJpY2EvTG9zX0FuZ2VsZXM="
}

Aby uzyskać dostęp do następnej strony danych, przekaż wartość nextPageToken do parametru pageToken w żądaniu:

curl -X GET "https://weather.googleapis.com/v1/forecast/days:lookup?key=YOUR_API_KEY&location.latitude=37.4220&location.longitude=-122.0841&days=6&pageSize=3&pageToken=ChYKEgm8dJMYBLZCQBH-ZffkYYVewBAGEAMYAyILCKyAqr0GEKOR6lUqE0FtZXJpY2EvTG9zX0FuZ2VsZXM="

Odpowiedź ma postać:

{
  "forecastDays": [
    {
      "interval": {
        "startTime": "2025-02-13T15:00:00Z",
        "endTime": "2025-02-14T15:00:00Z"
      },
      "displayDate": {
        "year": 2025,
        "month": 2,
        "day": 13
      },
      "daytimeForecast": {
        "interval": {
          "startTime": "2025-02-13T15:00:00Z",
          "endTime": "2025-02-14T03:00:00Z"
        },
        "weatherCondition": {
          "iconBaseUri": "https://maps.gstatic.com/weather/v1/drizzle",
          "description": {
            "text": "Light rain",
            "languageCode": "en"
          },
          "type": "LIGHT_RAIN"
        },
        "relativeHumidity": 81,
        "uvIndex": 2,
        "precipitation": {
          "probability": {
            "percent": 75,
            "type": "RAIN"
          },
          "qpf": {
            "quantity": 15.588,
            "unit": "MILLIMETERS"
          }
        },
        "thunderstormProbability": 20,
        "wind": {
          "direction": {
            "degrees": 181,
            "cardinal": "SOUTH"
          },
          "speed": {
            "value": 14,
            "unit": "KILOMETERS_PER_HOUR"
          },
          "gust": {
            "value": 32,
            "unit": "KILOMETERS_PER_HOUR"
          }
        },
        "cloudCover": 100
      },
      "nighttimeForecast": {
        "interval": {
          "startTime": "2025-02-14T03:00:00Z",
          "endTime": "2025-02-14T15:00:00Z"
        },
        "weatherCondition": {
          "iconBaseUri": "https://maps.gstatic.com/weather/v1/showers",
          "description": {
            "text": "Rain showers",
            "languageCode": "en"
          },
          "type": "RAIN_SHOWERS"
        },
        "relativeHumidity": 87,
        "uvIndex": 0,
        "precipitation": {
          "probability": {
            "percent": 75,
            "type": "RAIN"
          },
          "qpf": {
            "quantity": 11.3513,
            "unit": "MILLIMETERS"
          }
        },
        "thunderstormProbability": 10,
        "wind": {
          "direction": {
            "degrees": 222,
            "cardinal": "SOUTHWEST"
          },
          "speed": {
            "value": 14,
            "unit": "KILOMETERS_PER_HOUR"
          },
          "gust": {
            "value": 31,
            "unit": "KILOMETERS_PER_HOUR"
          }
        },
        "cloudCover": 95
      },
      "maxTemperature": {
        "degrees": 15.9,
        "unit": "CELSIUS"
      },
      "minTemperature": {
        "degrees": 11.2,
        "unit": "CELSIUS"
      },
      "feelsLikeMaxTemperature": {
        "degrees": 15.9,
        "unit": "CELSIUS"
      },
      "feelsLikeMinTemperature": {
        "degrees": 11,
        "unit": "CELSIUS"
      },
      "sunEvents": {
        "sunriseTime": "2025-02-13T14:59:17.439839464Z",
        "sunsetTime": "2025-02-14T01:46:14.345904643Z"
      },
      "moonEvents": {
        "moonPhase": "WANING_GIBBOUS",
        "moonriseTimes": [
          "2025-02-14T03:08:04.049988754Z"
        ],
        "moonsetTimes": [
          "2025-02-13T15:44:40.326916694Z"
        ]
      },
      "maxHeatIndex": {
        "degrees": 15.9,
        "unit": "CELSIUS"
      },
      "iceThickness": {
        "thickness": 0,
        "unit": "MILLIMETERS"
      }
    },
    {
      "interval": {
        "startTime": "2025-02-14T15:00:00Z",
        "endTime": "2025-02-15T15:00:00Z"
      },
      "displayDate": {
        "year": 2025,
        "month": 2,
        "day": 14
      },
      /.../
    },
    {
      "interval": {
        "startTime": "2025-02-15T15:00:00Z",
        "endTime": "2025-02-16T15:00:00Z"
      },
      "displayDate": {
        "year": 2025,
        "month": 2,
        "day": 15
      },
      /.../
    }
  ],
  "timeZone": {
    "id": "America/Los_Angeles"
  }
}

Wypróbuj

Eksplorator interfejsów API umożliwia wysyłanie przykładowych żądań, dzięki czemu możesz zapoznać się z interfejsem API i jego opcjami.

  1. Po prawej stronie strony kliknij ikonę interfejsu API api.

  2. Opcjonalnie edytuj parametry żądania.

  3. Kliknij przycisk Wykonaj. W oknie dialogowym wybierz konto, z którego chcesz wysłać prośbę.

  4. W panelu APIs Explorer kliknij ikonę pełnego ekranu fullscreen, aby rozwinąć okno narzędzia.