Method: forecast.days.lookup

返回指定地点(从当天开始)最多 10 天的每日预报。

HTTP 请求

GET https://weather.googleapis.com/v1/forecast/days:lookup

网址采用 gRPC 转码语法。

查询参数

参数
location

object (LatLng)

必需。要获取其每日天气预报的地点。

unitsSystem

enum (UnitsSystem)

可选。用于返回的天气状况的单位制。如果未提供,则返回的天气状况将采用公制单位(默认值 = METRIC)。

pageSize

integer

可选。每页返回的每日预报记录数上限 - 值介于 1 到 10(包括这两个数值)之间。该默认值为 5。

pageToken

string

可选。从上一个请求接收的页面令牌。用于检索后续页面。

days

integer

可选。限制从当前日期开始要提取的天数总量,值介于 1 到 10(包括这两个数值)之间。默认值为允许的最大值 10。

languageCode

string

可选。允许客户端选择响应的语言。如果无法为该语言提供数据,该 API 会使用最接近的匹配项。允许的值取决于 IETF BCP-47 标准。默认值为“en”。

请求正文

请求正文必须为空。

响应正文

days.lookup RPC 的响应。

如果成功,响应正文将包含结构如下的数据:

JSON 表示法
{
  "forecastDays": [
    {
      object (ForecastDay)
    }
  ],
  "timeZone": {
    object (TimeZone)
  },
  "nextPageToken": string
}
字段
forecastDays[]

object (ForecastDay)

每日预报记录,根据请求中指定的天数和页面大小。

timeZone

object (TimeZone)

请求地点的时区。

nextPageToken

string

用于检索下一页的令牌。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

ForecastDay

表示给定地点的每日预报记录。

JSON 表示法
{
  "interval": {
    object (Interval)
  },
  "displayDate": {
    object (Date)
  },
  "daytimeForecast": {
    object (ForecastDayPart)
  },
  "nighttimeForecast": {
    object (ForecastDayPart)
  },
  "maxTemperature": {
    object (Temperature)
  },
  "minTemperature": {
    object (Temperature)
  },
  "feelsLikeMaxTemperature": {
    object (Temperature)
  },
  "feelsLikeMinTemperature": {
    object (Temperature)
  },
  "maxHeatIndex": {
    object (Temperature)
  },
  "sunEvents": {
    object (SunEvents)
  },
  "moonEvents": {
    object (MoonEvents)
  },
  "iceThickness": {
    object (IceThickness)
  }
}
字段
interval

object (Interval)

此预报日期的开始时间(包括此时间)和结束时间(不包括此时间)对应的世界协调时间 (UTC) 间隔。注意:一天的开始时间为当地时间早上 7 点,结束时间为次日早上 7 点。例如:如果本地时区为 UTC-7,则该时间间隔将从 14:00:00.000Z 开始,到次日同一时间结束。

displayDate

object (Date)

计算此每日预报时所用地点所在时区(民用时间)的当地日期。此字段可用于在客户端上显示。

daytimeForecast

object (ForecastDayPart)

白天(当地时间上午 7 点到晚上 7 点)的天气预报。

nighttimeForecast

object (ForecastDayPart)

当天夜间(当地时间晚上 7 点到次日早上 7 点)的天气预报。

maxTemperature

object (Temperature)

全天最高温度。

minTemperature

object (Temperature)

全天最低(低)温度。

feelsLikeMaxTemperature

object (Temperature)

全天最高(高)体感温度。

feelsLikeMinTemperature

object (Temperature)

全天最低(最低)体感温度。

maxHeatIndex

object (Temperature)

全天最高热指数温度。

sunEvents

object (SunEvents)

与太阳相关的事件(例如日出、日落)。

moonEvents

object (MoonEvents)

与月亮相关的事件(例如月出、月落)。

iceThickness

object (IceThickness)

一整天累计的冰量。

日期

表示整个或部分日历日期(例如生日)。一天中的时间和时区要么在别处指定,要么不重要。日期相对于公历。可以表示以下任一情况:

  • 包含非零年份、月份和天值的完整日期。
  • 月份和天,年份值为零(例如周年纪念日)。
  • 单独的年份,月份和天值为零。
  • 年份和月份,天值为零(例如,信用卡到期日期)。

相关类型:

JSON 表示法
{
  "year": integer,
  "month": integer,
  "day": integer
}
字段
year

integer

日期中的年份。必须介于 1 到 9999 之间,或为 0(即指定不含年份的日期)。

month

integer

一年中的第几个月。必须介于 1 到 12 之间,或为 0(即只指定年份,不指定月份和天值)。

day

integer

一个月中的第几天。必须介于 1 到 31 之间并且对年份和月份有效,或为 0(即天不重要,指定单独的年份或者年份和月份)。

ForecastDayPart

表示一天中的某个时间段的预测记录。

JSON 表示法
{
  "interval": {
    object (Interval)
  },
  "weatherCondition": {
    object (WeatherCondition)
  },
  "precipitation": {
    object (Precipitation)
  },
  "wind": {
    object (Wind)
  },
  "relativeHumidity": integer,
  "uvIndex": integer,
  "thunderstormProbability": integer,
  "cloudCover": integer
}
字段
interval

object (Interval)

此时段的开始日期和时间(含)和结束日期和时间(不含)。采用世界协调时间 (UTC)。注意:一天中的某个部分是指当天上午 7 点到晚上 7 点(当地时间)。例如:如果当地时区为 UTC-7,则白天时段将从 14:00:00.000Z 开始,次日结束于 02:00:00.000Z;夜间时段将从次日 02:00:00.000Z 开始,当天结束于 14:00:00.000Z

weatherCondition

object (WeatherCondition)

预测的天气状况。

precipitation

object (Precipitation)

预测的降水量。

wind

object (Wind)

平均风向、最大风速和阵风。

relativeHumidity

integer

预测的相对湿度百分比(值介于 0 到 100 之间)。

uvIndex

integer

预测的紫外线 (UV) 指数的最大值。

thunderstormProbability

integer

平均雷暴概率。

cloudCover

integer

平均云量百分比。

SunEvents

表示与太阳相关的事件(例如日出、日落)。

JSON 表示法
{
  "sunriseTime": string,
  "sunsetTime": string
}
字段
sunriseTime

string (Timestamp format)

日出时间。

注意:在某些特殊情况下(例如北极圈以北),一天可能没有日出时间。在这些情况下,此字段将处于未设置状态。

采用 RFC 3339 标准,生成的输出将始终在末尾带 Z,并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

sunsetTime

string (Timestamp format)

日落时间。

注意:在某些特殊情况下(例如北极圈以北),一天内可能没有日落时间。在这些情况下,此字段将处于未设置状态。

采用 RFC 3339 标准,生成的输出将始终在末尾带 Z,并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

MoonEvents

表示与月亮相关的事件(例如月出、月落)。

JSON 表示法
{
  "moonriseTimes": [
    string
  ],
  "moonsetTimes": [
    string
  ],
  "moonPhase": enum (MoonPhase)
}
字段
moonriseTimes[]

string (Timestamp format)

月亮的上弦出现在地平线之上的时间(请参阅 https://en.wikipedia.org/wiki/Moonrise_and_moonset))。

注意:在大多数情况下,每天只有一次月出时间。在其他情况下,列表可能为空(例如,月亮在次日午夜之后升起时)。不过,在特殊情况下(例如在极地地区),列表中可能包含多个值。在这些情况下,值会按升序排序。

采用 RFC 3339 标准,生成的输出将始终在末尾带 Z,并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

moonsetTimes[]

string (Timestamp format)

月亮上弦消失在地平线以下的时间(请参阅 https://en.wikipedia.org/wiki/Moonrise_and_moonset)

注意:在大多数情况下,每天只有一次月落时间。在其他情况下,列表可能为空(例如,月亮在次日午夜之后落下时)。不过,在特殊情况下(例如在极地地区),列表中可能包含多个值。在这些情况下,值会按升序排序。

采用 RFC 3339 标准,生成的输出将始终在末尾带 Z,并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

moonPhase

enum (MoonPhase)

月相(也称为阴历月相)。

MoonPhase

标记月相(也称为阴历月相)。

枚举
MOON_PHASE_UNSPECIFIED 未指定月相。
NEW_MOON 月球未被太阳照亮。
WAXING_CRESCENT 在北半球,月亮的右侧亮度为 0%-50% 🌒;在南半球,月亮的左侧亮度为 0%-50% 🌘。
FIRST_QUARTER 在北半球,月亮的右侧被照亮了 50.1%;在南半球,月亮的左侧被照亮了 50.1% 🌓🌗。
WAXING_GIBBOUS 在北半球,月亮的右侧会亮起 50%-100% 的光芒 🌔;在南半球,月亮的左侧会亮起 50%-100% 的光芒 🌖。
FULL_MOON 月亮是满月的。
WANING_GIBBOUS 在北半球,月亮的左侧亮度为 50%-100% 🌖;在南半球,月亮的右侧亮度为 50%-100% 🌔。
LAST_QUARTER 在北半球,月亮的左侧被照亮了 50.1%;在南半球,月亮的右侧被照亮了 50.1% 🌗🌓。
WANING_CRESCENT 在北半球,月亮的左侧亮度为 0%-50% 🌘;在南半球,月亮的右侧亮度为 0%-50% 🌒。