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ự đoán
  • 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 độ ô 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ờ thông qua điểm cuối dự báo bằng cách gửi yêu cầu POST qua HTTP tới:

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 theo giờ về chất lượng không khí và nhiều lựa chọn để kiểm soát thông tin bổ sung nào 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í theo 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 chuyển 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"
}