使用My Business API更新服务类型遇400错误,求解决建议
解决建议
确认地点业务分类与服务类型的匹配性
错误的核心原因是你提交的服务类型ID不在当前地点业务分类支持的范围内。先调用locations.get接口获取该地点的categories字段,再对照官方文档中服务类型与业务分类的对应关系,筛选出该分类下允许的服务ID。比如停车类服务仅适用于停车场、商业中心等特定分类,若你的地点属于餐厅、零售店这类分类,自然无法添加此类服务。核对服务ID的准确性
确保你使用的gcid:前缀的服务ID是官方认可的有效取值,仔细检查拼写(比如gcid:parking_lot_for_motorcycle是否存在拼写错误)。建议直接从官方服务类型列表中复制正确ID,避免手动输入失误。检查请求结构的合规性
确认patch请求的service_items结构完全符合API规范:- 确保
structured_service_item.service_type_id的嵌套层级正确,字段名拼写无误(比如不要写成驼峰式的serviceTypeId) - 验证请求的
updateMask参数包含service_items字段,否则patch操作(包括验证)不会针对该字段生效
- 确保
参考现有服务的格式与取值
如果该地点已有生效的服务类型,调用locations.get获取当前的service_items数据,参考其中的service_type_id格式和取值范围,确保新添加的服务ID格式一致且属于同一分类体系。
你收到的完整错误信息:
{ "error": { "code": 400, "message": "Request contains an invalid argument.", "status": "INVALID_ARGUMENT", "details": [ { "@type": "type.googleapis.com/google.rpc.BadRequest", "fieldViolations": [ { "field": "service_items[0].structured_service_item.service_type_id", "description": "Provided service type ID is not among those supported by the business's categories." } ] } ] } }
内容的提问来源于stack exchange,提问作者dusoft
相关产品推荐
相关产品推荐

