Dự báo

Điểm cuối forecast cung cấp thông tin dự báo chất lượng không khí hằng giờ trong tối đa 96 giờ (4 ngày) cho một vị trí nhất định. Mỗi thông tin dự báo bao gồm các chỉ số chất lượng không khí theo giờ cũng như thông tin bổ sung:

  • Ngày và giờ cụ thể hoặc khoảng thời gian để dự báo
  • Mã ngôn ngữ cho các trường đã dịch
  • Chỉ số chất lượng không khí (AQI) tại địa phương hoặc tuỳ chỉnh
  • Đề xuất về sức khoẻ
  • Chất gây ô nhiễm chính
  • Nồng độ chất gây ô nhiễm
  • Thông tin bổ sung về chất gây ô nhiễm
  • Kích thước trang phản hồi
  • Bảng màu

Trình khám phá API cho phép bạn tạo các yêu cầu trực tiếp để làm quen với API và các tuỳ chọn API:

Hãy làm thử!

Giới thiệu về yêu cầu dự báo

Bạn có thể yêu cầu thông tin dự báo chất lượng không khí hằng giờ bằng cách sử dụng điểm cuối dự báo bằng cách gửi yêu cầu POST HTTP đến:

https://airquality.googleapis.com/v1/forecast:lookup?key=YOUR_API_KEY

Thêm các tham số vào nội dung yêu cầu. Nội dung yêu cầu chứa vị trí mà bạn muốn nhận thông tin dự báo chất lượng không khí theo giờ và nhiều tuỳ chọn để kiểm soát thông tin bổ sung cần đưa vào phản hồi.

Giới thiệu về nội dung phản hồi dự báo

Phần nội dung phản hồi cung cấp ngày và giờ theo giờ UTC để hiển thị thông tin dự báo chất lượng không khí, chỉ số chất lượng không khí và thông tin tuỳ chỉnh bổ sung. Phần nội dung phản hồi cũng bao gồm một mã thông báo để truy xuất trang tiếp theo nếu thông tin không phù hợp với kích thước trang được yêu cầu.

Ví dụ về yêu cầu cơ bản

Mã sau đây cho biết cách tạo một yêu cầu dự báo. Trong ví dụ này, bạn chỉ định vị trí, ngày và giờ (bắt đầu từ giờ tiếp theo đến 96 giờ) để hiển thị thông tin dự báo chất lượng không khí hằng giờ.

curl -X POST -d '{
  "location": {
    "latitude": 37.4125333,
    "longitude": -122.0840937
  },
  "dateTime": "2024-02-09T08:00:00Z"
}' \
-H "Content-Type: application/json" \
-H "Accept-Language: *" \
"https://airquality.googleapis.com/v1/forecast:lookup?key=YOUR_API_KEY"

Lệnh gọi này sẽ tạo ra phản hồi JSON sau.

{
  "hourlyForecasts": [
    {
      "dateTime": "2024-02-09T08:00:00Z",
      "indexes": [
        {
          "code": "uaqi",
          "displayName": "Universal AQI",
          "aqi": 80,
          "aqiDisplay": "80",
          "color": {
            "red": 0.34509805,
            "green": 0.74509805,
            "blue": 0.20784314
          },
          "category": "Excellent air quality",
          "dominantPollutant": "pm25"
        }
      ]
    }
  ],
  "regionCode": "us"
}

Ví dụ về yêu cầu có nhiều tham số

Mã sau đây cho biết cách tạo một nội dung yêu cầu có nhiều thông số. Trong ví dụ này, bạn chỉ định những thông tin sau:

  • Vị trí
  • Khoảng thời gian hiển thị thông tin dự báo chất lượng không khí
  • Mã ngôn ngữ
  • Các phép tính bổ sung (chẳng hạn như các đề xuất về sức khoẻ, nồng độ chất gây ô nhiễm chính và thông tin bổ sung về chất gây ô nhiễm)
  • Bảng màu
curl -X POST -d '{
    "pageSize": "10",
    "universalAqi": "true",
    "location": {
        "latitude": "40.741895",
        "longitude": "-73.989308"
    },
    "period": {
        "startTime": "2024-02-27T13:58:14+02:00",
        "endTime": "2024-02-28T16:58:14+02:00"
    },
    "languageCode": "en",
    "extraComputations": [
        "HEALTH_RECOMMENDATIONS",
        "DOMINANT_POLLUTANT_CONCENTRATION",
        "POLLUTANT_ADDITIONAL_INFO"
    ],
    "uaqiColorPalette": "RED_GREEN"
}' \
-H "Content-Type: application/json" \
-H "Accept-Language: *" \
"https://airquality.googleapis.com/v1/forecast:lookup?key=YOUR_API_KEY"

Lệnh gọi này sẽ tạo ra phản hồi JSON sau.

{
  {
  "hourlyForecasts": [
    {
      "dateTime": "2024-02-27T11:00:00Z",
      "indexes": [
        {
          "code": "uaqi",
          "displayName": "Universal AQI",
          "aqi": 75,
          "aqiDisplay": "75",
          "color": {
            "red": 0.43137255,
            "green": 0.7764706,
            "blue": 0.20392157
          },
          "category": "Good air quality",
          "dominantPollutant": "pm25"
        }
      ],
      "pollutants": [
        {
          "code": "pm25",
          "displayName": "PM2.5",
          "fullName": "Fine particulate matter (\u003c2.5µm)",
          "concentration": {
            "value": 15.1,
            "units": "MICROGRAMS_PER_CUBIC_METER"
          },
          "additionalInfo": {
            "sources": "...",
            "effects": "..."
          }
        }
      ],
      "healthRecommendations": {
        "generalPopulation": "...",
        "lungDiseasePopulation": "...",
        "heartDiseasePopulation": "...",
        "athletes": "...",
        "pregnantWomen": "..."
      }
    },
    {
      "dateTime": "2024-02-27T12:00:00Z",
      "indexes": [
        {
          "code": "uaqi",
          "displayName": "Universal AQI",
          "aqi": 67,
          "aqiDisplay": "67",
          "color": {
            "red": 0.5882353,
            "green": 0.8392157,
            "blue": 0.16862746
          },
          "category": "Good air quality",
          "dominantPollutant": "pm25"
        }
      ],
      "pollutants": [
        {
          "code": "pm25",
          "displayName": "PM2.5",
          "fullName": "Fine particulate matter (\u003c2.5µm)",
          "concentration": {
            "value": 19.96,
            "units": "MICROGRAMS_PER_CUBIC_METER"
          },
          "additionalInfo": {
            "sources": "...",
            "effects": "..."
          }
        }
      ],
      "healthRecommendations": {
        "generalPopulation": "...",
        "lungDiseasePopulation": "...",
        "heartDiseasePopulation": "...",
        "athletes": "...",
        "pregnantWomen": "...",
        "children": "..."
      }
    },
    /.../
  ]
  }
  "regionCode": "us",
  "nextPageToken": "CjMKEglwCFVq9l5EQBH0aoDSUH9SwBoQCgYI1pDirgYSBgiGiOiuBiABKgMCBAMyAmVuOAEQGA=="
}

Để xem trang tiếp theo của thông tin dự báo, hãy truyền vào nextPageToken được trả về ở cuối nội dung phản hồi:

curl -X POST -d '{
    "universalAqi": "true",
    "location": {
        "latitude": "40.741895",
        "longitude": "-73.989308"
    },
    "period": {
        "startTime": "2024-02-27T13:58:14+02:00",
        "endTime": "2024-02-28T16:58:14+02:00"
    },
    "languageCode": "en",
    "extraComputations": [
        "HEALTH_RECOMMENDATIONS",
        "DOMINANT_POLLUTANT_CONCENTRATION",
        "POLLUTANT_ADDITIONAL_INFO"
    ],
    "uaqiColorPalette": "RED_GREEN",
    "pageToken": "CjMKEglwCFVq9l5EQBH0aoDSUH9SwBoQCgYI1pDirgYSBgiGiOiuBiABKgMCBAMyAmVuOAEQGA=="
}' \
-H "Content-Type: application/json" \
-H "Accept-Language: *" \
"https://airquality.googleapis.com/v1/forecast:lookup?key=YOUR_API_KEY"

Thao tác này sẽ trả về trang tiếp theo của thông tin dự báo:

{
  "hourlyForecasts": [
    {
      "dateTime": "2024-02-27T21:00:00Z",
      "indexes": [
        {
          "code": "uaqi",
          "displayName": "Universal AQI",
          "aqi": 74,
          "aqiDisplay": "74",
          "color": {
            "red": 0.44705883,
            "green": 0.78431374,
            "blue": 0.2
          },
          "category": "Good air quality",
          "dominantPollutant": "o3"
        }
      ],
      "pollutants": [
        {
          "code": "o3",
          "displayName": "O3",
          "fullName": "Ozone",
          "concentration": {
            "value": 32.07,
            "units": "PARTS_PER_BILLION"
          },
          "additionalInfo": {
            "sources": "...",
            "effects": "..."
          }
        }
      ],
      "healthRecommendations": {
        "generalPopulation": "...",
        "elderly": "...",
        "lungDiseasePopulation": "...",
        "heartDiseasePopulation": "...",
        "athletes": "...",
        "pregnantWomen": "...",
        "children": "..."
      }
    },
    {
      "dateTime": "2024-02-27T22:00:00Z",
      "indexes": [
        {
          "code": "uaqi",
          "displayName": "Universal AQI",
          "aqi": 75,
          "aqiDisplay": "75",
          "color": {
            "red": 0.43137255,
            "green": 0.7764706,
            "blue": 0.20392157
          },
          "category": "Good air quality",
          "dominantPollutant": "o3"
        }
      ],
      "pollutants": [
        {
          "code": "o3",
          "displayName": "O3",
          "fullName": "Ozone",
          "concentration": {
            "value": 30.94,
            "units": "PARTS_PER_BILLION"
          },
          "additionalInfo": {
            "sources": "...",
            "effects": "..."
          }
        }
      ],
      "healthRecommendations": {
        "generalPopulation": "...",
        "lungDiseasePopulation": "...",
        "heartDiseasePopulation": "...",
        "athletes": "...",
        "pregnantWomen": "...",
        "children": "..."
      }
    },
    /.../
  ]
  "regionCode": "us"
}