Google Admin SDK API调用users.update清空日期字段400错误咨询
Google Admin SDK Directory API 清空DATE类型自定义属性解决方案
核心原因
DATE类型自定义用户属性的校验逻辑和字符串、布尔型属性不同,不支持通过空字符串""、空数组[]这类值执行清空操作,格式校验不通过会直接返回400 Invalid Input错误。
可行解决方案
1. 直接调用API场景
- 优先使用PATCH语义的
users.update请求,请求头设置Content-Type: application/json - 请求URL必须添加
updateMask参数,明确指定需要清空的DATE字段路径,示例:https://admin.googleapis.com/admin/directory/v1/users/<用户邮箱地址>?updateMask=customSchemas.<你的自定义架构名>.<你的DATE类型字段名> - 请求体对应字段直接传
null即可,无需携带其他不需要修改的属性,示例请求体:{ "customSchemas": { "你的自定义架构名": { "你的DATE类型字段名": null } } }
2. GAM工具使用场景
直接使用GAM内置的clear参数执行字段清空,不需要手动传空值,命令格式:
gam user <目标用户邮箱> custom <自定义架构名> <DATE类型字段名> clear
之前尝试失败的常见原因
- 传空字符串
""/空数组[]:不符合DATE字段的类型/格式校验规则,直接被拦截 - 传
null未生效:未添加updateMask参数指定字段更新范围,或使用了全量PUT请求而非PATCH语义更新 - 字段路径拼写错误:自定义架构名、字段名大小写不匹配,API无法定位到目标属性
内容的提问来源于stack exchange,提问作者k0d3r3d
相关产品推荐
相关产品推荐

