如何确定Google People API返回的ETag最大长度
Google People API
etag 字段存储与规范说明 长度规范相关结论
- 谷歌官方从未公开People API返回
etag字段的固定长度限制,也未对外披露该字段的生成机制。etag属于服务端生成的不透明版本标识,谷歌所有公开API的etag都不承诺格式、长度永久固定,会随着服务端版本校验逻辑的迭代随时调整,调用方不应该对其长度、内容格式做任何假设。 - 从目前公开的生产环境观测数据来看,People API历史返回的
etag长度在16~180字符区间波动,近期出现的长度突增属于服务端正常迭代,没有提前公示符合谷歌API的更新规则。
数据库存储方案建议
- 不建议使用短长度定长字符列存储
etag。最稳妥的兼容方案是直接使用数据库的无长度限制字符串类型(如MySQL的TEXT类型、PostgreSQL的TEXT类型)存储,完全规避后续长度变动带来的写入报错问题。 - 如果必须给
VARCHAR类型设置固定长度,设置为VARCHAR(512)足以覆盖近5年内所有谷歌APIetag的长度波动,冗余量足够应对未来的常规调整。
注意:所有谷歌API返回的
etag都要求调用方作为不透明值处理,不要尝试解析etag的内容结构,不要基于当前观测到的长度、字符规则写本地校验逻辑,存储和回传时保持原值即可。
字段变更通知渠道说明
- 谷歌API的更新公告只会覆盖会导致现有调用报错的破坏性变更:比如接口下线、必填参数新增、原有返回字段删除这类调整,会提前3~6个月在对应API的发布说明、谷歌云公告渠道公示。
- 类似
etag长度变化、可选返回字段新增这类非破坏性调整,不会单独发布预告,也不会写入版本发布日志,即使订阅了官方开发者通知邮件,也不会收到这类小调整的提示。
内容的提问来源于stack exchange,提问作者Rikki
相关产品推荐
相关产品推荐

