Google Cloud Billing API调用billingAccounts.patch改显示名报无效参数错误
Google Cloud Billing
billingAccounts.patch 接口报「请求包含无效参数」的常见触发原因 - 漏传必填的
updateMask查询参数
该接口属于资源补丁类更新接口,强制要求通过updateMask参数声明本次请求的修改字段范围。如果仅传递请求体、未附带updateMask参数,或是参数值没有准确覆盖本次要更新的displayName、masterBillingAccount字段名,接口会直接判定请求参数非法,返回对应错误。这是调用该接口时最高发的触发场景。 - 主结算账户关联校验不通过
传入的masterBillingAccount取值需要同时满足多重校验规则,任意一条不满足都会触发错误:- 对应账号必须是支持层级关联的主结算账户,不能本身是已绑定在其他主账户下的子结算账户
- 调用接口的身份,必须同时对目标子结算账户、传入的主结算账户拥有结算账户管理员操作权限
- 目标子结算账户如果已经绑定了其他主结算账户,未提前解除旧关联关系就直接修改主账户字段,会触发校验失败
- 请求路径参数存在格式偏差
记录的请求参数name值等号后带有多余空格(name= billingAccounts/01D70C-AEC6F8-675132),如果实际请求中没有去掉这个空格,接口会将空格识别为资源名称的一部分,无法匹配到对应结算账户资源。另外如果拼入name或masterBillingAccount路径时,存在字符输入错误(比如把数字0写成大写字母O、数字1写成小写l),导致资源路径无效,接口也会统一归类为无效参数错误返回,不会单独提示资源不存在。 - 字段取值不符合格式规则
检查请求体中字段值的格式要求:masterBillingAccount必须是纯结算账户资源路径,不能附带项目、服务等其他资源后缀;displayName长度不能超过100字符,不能包含不可见的控制类字符,这类格式偏差也会触发参数校验失败。
内容的提问来源于stack exchange,提问作者basco
相关产品推荐
相关产品推荐

