Package google.type

索引

日期

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

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

相关类型:

字段
year

int32

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

month

int32

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

day

int32

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

DayOfWeek

表示星期几。

枚举
DAY_OF_WEEK_UNSPECIFIED 未指定星期几。
MONDAY 星期一
TUESDAY 星期二
WEDNESDAY 星期三
THURSDAY 星期四
FRIDAY 星期五
SATURDAY 星期六
SUNDAY 星期日

PostalAddress

表示邮政地址,例如邮政递送地址或付款地址。有了邮政地址,邮政服务就可以将物品递送到房屋、邮政信箱或类似地点。邮政地址不适用于对道路、城镇或山脉等地理位置进行建模。

在典型使用场景中,地址会通过用户输入或导入现有数据来创建,具体取决于流程类型。

有关地址输入或修改的建议:

  • 使用支持国际化的地址 widget,例如 https://github.com/google/libaddressinput。
  • 在不使用某个字段的国家/地区,不应向用户显示用于输入或修改该字段的界面元素。

如需详细了解如何使用此架构,请参阅:https://support.google.com/business/answer/6397478。

字段
revision

int32

PostalAddress 的架构修订版本。必须将其设置为 0,也就是最新版本。

所有新版本必须向后兼容旧版本。

region_code

string

必需。地址的国家/地区的 CLDR 地区代码。系统不会推断此字段,该值由用户确保正确。如需了解详情,请参阅 https://cldr.unicode.org/ 和 https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html。例如:瑞士的地区代码为“CH”。

language_code

string

选填。此地址内容的 BCP-47 语言代码(如果已知)。这通常是输入表单的界面语言,或者与地址的“国家/地区”中使用的某种语言或其转换后的其他语言相匹配。这可能会影响某些国家/地区的格式,但对数据的正确性并不重要,也不会影响任何验证或其他与格式无关的操作。

如果此值未知,则应省略(而不是指定可能不正确的默认值)。

示例:“zh-Hant”、“ja”、“ja-Latn”、“en”。

postal_code

string

可选。地址的邮政编码。并非所有国家/地区都使用或要求提供邮政编码,但在使用邮政编码的国家/地区,邮政编码可能会触发对地址其他部分的额外验证(例如,美国的州或邮政编码验证)。

sorting_code

string

可选。特定于国家/地区的额外排序代码。大多数区域都未使用此功能。在使用该字段的国家/地区,其值可以是“CEDEX”之类的字符串,后跟一个数字(例如“CEDEX 7”),也可以只是一个数字,表示“区段代码”(牙买加)、“投递区域指示符”(马拉维)或“邮局指示符”(科特迪瓦)。

administrative_area

string

可选。最高行政区划,用于国家或地区的邮政地址。例如,此值可以是州、省、州(俄罗斯)或县。对于西班牙,这是省份,而不是自治区(例如,应为“Barcelona”,而不是“Catalonia”)。许多国家在邮政地址中不使用行政区划。例如,在瑞士,此字段应留空。

locality

string

可选。通常指地址的城市或乡镇部分。示例:美国的城市、意大利的市镇、英国的邮镇。在世界上某些区域,如果地方行政区划不明确或不符合此结构,请将 locality 留空并使用 address_lines。

sublocality

string

可选。地址的子级市行政区。例如,这可以是街区、市镇或区。

address_lines[]

string

描述详细地址的非结构化地址行。

由于 address_lines 中的值没有类型信息,并且有时可能在单个字段中包含多个值(例如“Austin, TX”),因此请务必确保行顺序清晰。地址行的顺序应为地址所在国家或区域的“信封顺序”。在可能存在差异的地方(例如日本),address_language 用于明确指定(例如,“ja”表示从大到小的顺序,“ja-Latn”或“en”表示从小到大的顺序)。这样,系统就可以根据语言选择最具体的地址行。

地址的最小允许结构化表示形式由 region_code 组成,所有其余信息都放在 address_lines 中。可以在没有地理编码的情况下非常近似地设置此地址的格式,但是在至少部分完成之前,不能对任何地址组成部分进行语义推理。

建议您先创建一个仅包含 region_code 和 address_lines 的地址,然后进行地理编码,以此来处理完全非结构化的地址(而不是猜测地址的哪些部分应为市/县或行政区)。

recipients[]

string

可选。此地址的收件人。在某些情况下,该字段可能包含多行信息。例如,它可能包含“转交”信息。

organization

string

可选。地址对应的组织的名称。

TimeOfDay

表示一天中的某个时间。日期和时区要么不重要,要么在别处指定。API 可以选择允许闰秒。相关类型为 google.type.Date 和 google.protobuf.Timestamp。

字段
hours

int32

一天中的小时(采用 24 小时制)。必须大于或等于 0,且通常必须小于或等于 23。对于业务结束时间等场景,API 可以选择允许“24:00:00”一值。

minutes

int32

一小时中的分钟数。必须大于或等于 0 且小于或等于 59。

seconds

int32

一分钟中的秒数。必须大于或等于 0,且通常必须小于或等于 59。如果 API 允许闰秒,则 API 可以允许 60 一值。

nanos

int32

秒数的小数部分(以纳秒为单位)。必须大于或等于 0 且小于或等于 999,999,999。

TimeZone

表示 IANA 时区数据库中的时区。

字段
id

string

IANA 时区数据库时区。例如“America/New_York”。

version

string

可选。IANA 时区数据库版本号。例如“2019a”。