调用Google Content API插入商品报Invalid feed id错误咨询
报错原因
你遇到的[feedId] Invalid feed id报错由两个核心问题导致:
- Feed类型不匹配:你通过
datafeeds.list接口拿到的是定时抓取/文件上传类的常规Feed ID,这类ID仅支持Feed文件批量上传、Datafeeds系列接口操作,不能传入products.insert接口。products.insert接口的feedId参数仅接受两类合法值: - 固定值
1:代表系统默认的Content API直传Feed,是绝大多数开发者调用直插商品接口时使用的合法值 - 你在Merchant Center后台手动创建的Content API类型自定义Feed的ID,这类Feed是专门给API插入商品场景使用的
- Feed未配置对应投放目的地:你查询到的现有Feed配置中,
includedDestinations仅包含SurfacesAcrossGoogle、LocalSurfacesAcrossGoogle,没有开通Shopping目的地权限,本身就不支持商品插入类操作,就算ID格式符合要求也会校验失败。
解决方案
根据你的业务场景选对应方案即可:
- 无特殊自定义Feed归属需求,直接通过API上传商品:直接删除
products.insert调用中的feedId参数,或者显式传入值1即可,调用示例:
endpoint.products.insert( { merchantId : config[args.shop].google.merchant_id , requestBody : prd // 移除feedId参数,默认走系统API直传Feed })
- 需要将API插入的商品归属到自定义Feed下:先登录Google Merchant Center后台,新建一个Content API类型的Feed,配置好
Shopping等你需要的投放目的地,再将这个新Feed的数字ID作为feedId参数传入接口即可。注意原有的文件上传、定时抓取类Feed永远无法兼容products.insert接口。 - 传参校验:传入
feedId时确保参数为纯数字类型,不要携带多余空格、特殊字符,避免类型转换触发的参数校验失败。
补充说明:你当前生成的请求地址把feedId作为query参数传递的格式是符合API规范的,不需要调整请求结构,问题根源就是参数值本身不符合接口规则。
内容的提问来源于stack exchange,提问作者Michael Tot Korsgaard
相关产品推荐
相关产品推荐

