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)
  }
}
字段
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)

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

日期

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

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

相关类型:

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)
  },
  "iceThickness": {
    object (IceThickness)
  },
  "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)

平均风向以及最大风速和阵风。

iceThickness

object (IceThickness)

一天中某个时段的累计结冰量。

relativeHumidity

integer

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

uvIndex

integer

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

thunderstormProbability

integer

平均雷暴概率。

cloudCover

integer

平均云覆盖率百分比。

SunEvents

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

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

string (Timestamp format)

日出时间。

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

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 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 规范化(即转换为 UTC 零时区格式并在末尾附加 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 规范化(即转换为 UTC 零时区格式并在末尾附加 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 规范化(即转换为 UTC 零时区格式并在末尾附加 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% 🌒。