- HTTP 要求
- 查詢參數
- 要求主體
- 回應主體
- 授權範圍
- LatLng
- DayInfo
- 日期
- PollenTypeInfo
- PollenType
- IndexInfo
- 索引
- 顏色
- PlantInfo
- 植物
- PlantDescription
最多可傳回 65 個國家/地區的每日花粉資訊,最多可傳回 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 |
選用設定。包含植物的一般資訊,包括植物的季節性細節、特殊形狀和色彩、過敏反應以及植物相片等資訊。 |
要求主體
要求主體必須為空白。
回應主體
如果成功,回應主體即會包含具有以下結構的資料:
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[] |
這份清單包含 (最多) 三種花粉類型 (草、草、樹),影響要求中指定的位置。 |
plantInfo[] |
這份清單將包括 (最多) 15 個花粉品種,影響要求中指定的地點。 |
日期
代表完整或部分日曆的日期,例如生日。您可在其他位置指定日期和時間,或沒有其他選擇。日期以公曆為相對於公曆。可能代表下列其中一種:
- 完整日期,具有非零的年、月和日值。
- 月和日,出現零年 (例如週年紀念日)。
- 一個自己的年,分別為 0 個月和 0 天。
- 年份和月份,數字為零 (例如信用卡到期日)。
相關類型:
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
建構函式,也可以短暫提供給 UIColor 的 +colorWithRed:green:blue:alpha
方法 (在 iOS 中);而且只要簡單幾個步驟,就能在 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 |
植物名稱的清楚易讀表示法。例如:「Cottonwood」 |
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 |
花粉交叉反應植物的文字說明。例:Alder、霧灰色、角樹、山毛櫸、柳樹和橡樹花粉。 |
picture |
植物圖片的連結。 |
pictureCloseup |
植物特寫圖片的連結。 |