- 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.TimeOfDaygoogle.type.DateTimegoogle.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 | 
                
                   
 指向植物特写照片的链接。  |