- HTTP 请求
- 查询参数
- 请求正文
- 响应正文
- 授权范围
- LatLng
- DayInfo
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- Date
- PollenTypeInfo
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- PollenType
- IndexInfo
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 索引
- 颜色
- PlantInfo
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 植物
- PlantDescription
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 试试看!
可返回超过 65 个国家/地区每天 5 天的花粉信息,分辨率最高可达 1 公里。
HTTP 请求
GET https://pollen.googleapis.com/v1/forecast:lookup
网址采用 gRPC 转码语法。
查询参数
| 参数 | |
|---|---|
| location | 
 必需。API 搜索花粉预测数据的经度和纬度。 | 
| days | 
 必需。一个数字,表示需要请求的预测天数(最小值为 1,最大值为 5)。 | 
| pageSize | 
 可选。每页返回的每日信息记录数量上限。默认值和最大值均为 5,表示 5 天的数据。 | 
| pageToken | 
 可选。从上一次每日调用收到的页面令牌。它用于检索后续页面。 请注意,为页面令牌提供值时,提供的所有其他请求参数必须与提供页面令牌的上一个调用相匹配。 | 
| languageCode | 
 可选。允许客户端选择响应的语言。如果无法为该语言提供数据,API 会使用最接近的匹配项。允许的值取决于 IETF BCP-47 标准。默认值为“en”。 | 
| plantsDescription | 
 可选。包含有关植物的一般信息,包括其季节性变化、特殊形状和颜色的详细信息、有关过敏交叉反应的信息以及植物照片。默认值为“true”。 | 
请求正文
请求正文必须为空。
响应正文
如果成功,响应正文将包含结构如下的数据:
| JSON 表示法 | 
|---|
| {
  "regionCode": string,
  "dailyInfo": [
    {
      object ( | 
| 字段 | |
|---|---|
| regionCode | 
 与请求中提供的位置相对应的国家/地区的 ISO_3166-1 alpha-2 代码。如果要求中提供的地点位于有争议的地区,响应中可能会省略此字段。 | 
| dailyInfo[] | 
 必需。此对象包含所请求的每一天的每日天气预报信息。 | 
| nextPageToken | 
 可选。用于检索下一页的令牌。 | 
授权范围
需要以下 OAuth 范围:
- https://www.googleapis.com/auth/cloud-platform
如需了解详情,请参阅 OAuth 2.0 概览。
LatLng
表示纬度/经度对的对象。该对象以一对双精度数表示,分别代表纬度度数和经度度数。除非另有说明,否则该对象必须符合 WGS84 标准。值必须介于标准化范围内。
| JSON 表示法 | 
|---|
| { "latitude": number, "longitude": number } | 
| 字段 | |
|---|---|
| latitude | 
 纬度(以度为单位)。它必须在 [-90.0, +90.0] 范围内。 | 
| longitude | 
 经度(以度为单位)。它必须在 [-180.0, +180.0] 范围内。 | 
DayInfo
此对象包含所请求的每一天的每日天气预报信息。
| JSON 表示法 | 
|---|
| { "date": { object ( | 
| 字段 | |
|---|---|
| date | 
 表示花粉预测数据的日期(采用世界协调时间)。 | 
| pollenTypeInfo[] | 
 此列表将包含最多 3 种会影响请求中指定的位置的花粉类型(GRASS、WEED、TREE)。 | 
| plantInfo[] | 
 此列表最多将包含影响要求中指定的位置的花粉种类(最多 15 个)。 | 
日期
表示整个或部分日历日期(例如生日)。一天中的时间和时区要么在别处指定,要么不重要。日期相对于公历。可以表示以下任一情况:
- 包含非零年份、月份和天值的完整日期。
- 月份和天,年份值为零(例如周年纪念日)。
- 单独的年份,月份和天值为零。
- 年份和月份,天值为零(例如,信用卡到期日期)。
相关类型:
- google.type.TimeOfDay
- google.type.DateTime
- google.protobuf.Timestamp
| JSON 表示法 | 
|---|
| { "year": integer, "month": integer, "day": integer } | 
| 字段 | |
|---|---|
| year | 
 日期中的年份。必须介于 1 到 9999 之间,或为 0(即指定不含年份的日期)。 | 
| month | 
 一年中的第几个月。必须介于 1 到 12 之间,或为 0(即只指定年份,不指定月份和天值)。 | 
| day | 
 一个月中的第几天。必须介于 1 到 31 之间并且对年份和月份有效,或为 0(即天不重要,指定单独的年份或者年份和月份)。 | 
PollenTypeInfo
此对象包含特定花粉类型的花粉类型索引和健康建议信息。
| JSON 表示法 | 
|---|
| { "code": enum ( | 
| 字段 | |
|---|---|
| code | 
 花粉类型的代号。例如:“GRASS” | 
| displayName | 
 花粉类型名称的人类可读表示法。示例:“草” | 
| indexInfo | 
 包含花粉类型的通用花粉指数 (UPI) 数据。 | 
| healthRecommendations[] | 
 与基于当前花粉含量的健康数据分析相关的说明文本列表。 | 
| inSeason | 
 指示植物是否季节。 | 
PollenType
花粉类型代码
| 枚举 | |
|---|---|
| POLLEN_TYPE_UNSPECIFIED | 未指定的植物类型。 | 
| GRASS | 草花粉类型。 | 
| TREE | 树花粉类型。 | 
| WEED | 杂草花粉类型。 | 
IndexInfo
此对象包含表示特定花粉指数值、类别和说明的数据。
| JSON 表示法 | 
|---|
| { "code": enum ( | 
| 字段 | |
|---|---|
| code | 
 索引的代码。此字段表示用于编程目的的索引(使用蛇形命名法而不是空格)。例如:“UPI”。 | 
| displayName | 
 直观易懂的索引名称表示法。例如:“通用花粉指数”。 | 
| category | 
 索引数字得分解释的文本分类。该索引包含六个类别: 
 | 
| indexDescription | 
 当前索引级别的文字说明。 | 
| color | 
 用于表示花粉指数数字得分的颜色。 | 
| value | 
 索引的分值。数字范围在 0 到 5 之间。 | 
索引
索引代码
| 枚举 | |
|---|---|
| INDEX_UNSPECIFIED | 未指定索引。 | 
| UPI | 通用花粉指数。 | 
颜色
表示 RGBA 颜色空间中的一种颜色。这种表示法旨在简化与各种语言中的颜色表示法之间的转换,而不是紧凑的转换。例如,在 Java 中,可以轻松地将此表示法的字段提供给 java.awt.Color 的构造函数;在 iOS 中,也可以轻松地将其提供给 UIColor 的 +colorWithRed:green:blue:alpha 方法;只需少量工作,即可轻松将其格式化为采用 JavaScript 的 CSS rgba() 字符串。
此参考页面不包含解读 RGB 值时应使用的绝对颜色空间,例如 sRGB、Adobe RGB、DCI-P3 和 BT.2020。默认情况下,应用应采用 sRGB 颜色空间。
在需要确定颜色均等性时,除非另有说明,否则如果两种颜色的红色、绿色、蓝色和 alpha 值都相差不超过 1e-5,则将相应实现视为相等。
示例 (Java):
 import com.google.type.Color;
 // ...
 public static java.awt.Color fromProto(Color protocolor) {
   float alpha = protocolor.hasAlpha()
       ? protocolor.getAlpha().getValue()
       : 1.0;
   return new java.awt.Color(
       protocolor.getRed(),
       protocolor.getGreen(),
       protocolor.getBlue(),
       alpha);
 }
 public static Color toProto(java.awt.Color color) {
   float red = (float) color.getRed();
   float green = (float) color.getGreen();
   float blue = (float) color.getBlue();
   float denominator = 255.0;
   Color.Builder resultBuilder =
       Color
           .newBuilder()
           .setRed(red / denominator)
           .setGreen(green / denominator)
           .setBlue(blue / denominator);
   int alpha = color.getAlpha();
   if (alpha != 255) {
     result.setAlpha(
         FloatValue
             .newBuilder()
             .setValue(((float) alpha) / denominator)
             .build());
   }
   return resultBuilder.build();
 }
 // ...
示例 (iOS / Obj-C):
 // ...
 static UIColor* fromProto(Color* protocolor) {
    float red = [protocolor red];
    float green = [protocolor green];
    float blue = [protocolor blue];
    FloatValue* alpha_wrapper = [protocolor alpha];
    float alpha = 1.0;
    if (alpha_wrapper != nil) {
      alpha = [alpha_wrapper value];
    }
    return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
 }
 static Color* toProto(UIColor* color) {
     CGFloat red, green, blue, alpha;
     if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
       return nil;
     }
     Color* result = [[Color alloc] init];
     [result setRed:red];
     [result setGreen:green];
     [result setBlue:blue];
     if (alpha <= 0.9999) {
       [result setAlpha:floatWrapperWithValue(alpha)];
     }
     [result autorelease];
     return result;
}
// ...
示例 (JavaScript):
// ...
var protoToCssColor = function(rgb_color) {
   var redFrac = rgb_color.red || 0.0;
   var greenFrac = rgb_color.green || 0.0;
   var blueFrac = rgb_color.blue || 0.0;
   var red = Math.floor(redFrac * 255);
   var green = Math.floor(greenFrac * 255);
   var blue = Math.floor(blueFrac * 255);
   if (!('alpha' in rgb_color)) {
      return rgbToCssColor(red, green, blue);
   }
   var alphaFrac = rgb_color.alpha.value || 0.0;
   var rgbParams = [red, green, blue].join(',');
   return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
};
var rgbToCssColor = function(red, green, blue) {
  var rgbNumber = new Number((red << 16) | (green << 8) | blue);
  var hexString = rgbNumber.toString(16);
  var missingZeros = 6 - hexString.length;
  var resultBuilder = ['#'];
  for (var i = 0; i < missingZeros; i++) {
     resultBuilder.push('0');
  }
  resultBuilder.push(hexString);
  return resultBuilder.join('');
};
// ...
| JSON 表示法 | 
|---|
| { "red": number, "green": number, "blue": number, "alpha": number } | 
| 字段 | |
|---|---|
| red | 
 颜色中红色的量,以区间 [0, 1] 中的值表示。 | 
| green | 
 颜色中绿色的量,以区间 [0, 1] 中的值表示。 | 
| blue | 
 颜色中的蓝色量,以 [0, 1] 区间中的值表示。 | 
| alpha | 
 此颜色在像素中的应用比例。也就是说,最终像素颜色由以下等式定义: 
 也就是说,值为 1.0 表示纯色,而值为 0.0 表示完全透明的颜色。它会使用封装容器消息,而非简单的浮动标量,以便区分默认值和未设置的值。如果省略,此颜色对象会渲染为纯色(就好像已经将 Alpha 值明确指定为 1.0)。 | 
PlantInfo
此对象包含特定植物的每日信息。
| JSON 表示法 | 
|---|
| { "code": enum ( | 
| 字段 | |
|---|---|
| code | 
 植物代号。例如:“COTTONWOOD”。您可以在此处找到所有可用代码的列表。 | 
| displayName | 
 人类可读的植物名称表示形式。示例:“棉白木”。 | 
| indexInfo | 
 此对象包含表示特定花粉指数值、类别和说明的数据。 | 
| plantDescription | 
 包含有关植物的一般信息,包括其季节性变化、特殊形状和颜色的详细信息、有关过敏交叉反应的信息以及植物照片。 | 
| inSeason | 
 表明植物是否生长。 | 
植物
列出各地点供应情况不同的可用植物。
| 枚举 | |
|---|---|
| PLANT_UNSPECIFIED | 未指定的植物代码。 | 
| ALDER | 桤木属于树类花粉类型。 | 
| ASH | 白蜡树属于树类花粉类型。 | 
| BIRCH | 桦树是一种树花粉类型。 | 
| COTTONWOOD | 棉白杨属于树类花粉类型。 | 
| ELM | 榆树属于树类花粉类型。 | 
| MAPLE | 枫树属于树类花粉类型。 | 
| OLIVE | 橄榄属于树类花粉类型。 | 
| JUNIPER | 杜松属于树木花粉类型。 | 
| OAK | 橡树属于树花粉类型。 | 
| PINE | 松树属于树花粉类型。 | 
| CYPRESS_PINE | 柏松属于树类花粉类型。 | 
| HAZEL | 榛树属于树类花粉类型。 | 
| GRAMINALES | 草本植物属于草类花粉类型。 | 
| RAGWEED | 豚草属于杂草花粉类型。 | 
| MUGWORT | 艾蒿属于杂草花粉类型。 | 
PlantDescription
包含有关植物的一般信息,包括其季节性变化、特殊形状和颜色的详细信息、有关过敏交叉反应的信息以及植物照片。
| JSON 表示法 | 
|---|
| {
  "type": enum ( | 
| 字段 | |
|---|---|
| type | 
 植物的花粉类型。例如:“GRASS”。您可以在此处找到所有可用代码的列表。 | 
| family | 
 植物系列名称的人类可读表示形式。示例:“白杨菜科(桦树科)”。 | 
| season | 
 对有花粉的季节的说明文字列表。例如:“冬末、春季”。 | 
| specialColors | 
 植物的文字说明叶子、树皮、花朵或种子的颜色,有助于识别植物。 | 
| specialShapes | 
 植物的文字说明叶子、树皮、花朵或种子的形状,以帮助识别植物。 | 
| crossReaction | 
 花粉交叉反应植物的文字说明。示例:桤木、榛树、鹅耳枥、山毛榉、柳树和橡树花粉。 | 
| picture | 
 指向植物图片的链接。 | 
| pictureCloseup | 
 指向植物特写照片的链接。 |