You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用Google Shopping Content API v2.1新增商品报错如何解决?

问题修复方案

核心错误原因

你遇到的两个报错均由请求体结构不符合接口规范导致:

  1. 第一次报错提示找不到price、productWeight等字段,是因为你直接把商品属性放在了请求体顶级,而接口预期所有商品属性都嵌套在product字段下,顶级的这些字段自然无法被识别
  2. 第二次报错提示需要指定product,是因为你删除了多个必填字段后,接口完全无法识别到合法的商品结构体

具体修复步骤

1. 调整请求体结构

不要直接把$productData作为请求参数发送,外层需要嵌套一层product字段,示例如下:

// 原错误调用逻辑
// postRequest($url, $productData, $accessToken);

// 修正后调用逻辑
$requestData = [
    'product' => $productData
];
postRequest($url, $requestData, $accessToken);

2. 修正shipping字段格式

接口要求shipping为数组类型(可配置多条配送规则),你当前传的是单个对象,需要嵌套一层数组:

"shipping" => [
    [
        "price" => [
          "value" => $shippingPrice,
          "currency" => $this->countriesData["DE"]["currency"]
        ],
        "country" => $this->countriesData["DE"]["cldrTerritoryCode"],
        "region" => $this->countriesData["DE"]["region"],
        "service" => $shippingTimeName,
    ]
],

3. 修正availability字段值

库存状态的标准有效值为in stock,你当前填写的on stock会触发后续字段校验错误:

"availability" => "in stock",

补充注意点

检查Authorization头格式,Google OAuth2访问令牌需要携带Bearer 前缀,否则会触发鉴权失败:

$headers = array(
    'Accept: application/json',
    'Content-Type: application/json',
    "Authorization: Bearer $accessToken"
);

内容的提问来源于stack exchange,提问作者ara

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 20:27:03