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

GAS对接WC RESTv2创建带自定义属性产品报错求助

问题排查与解决方案

核心错误原因

你遇到的问题主要来自两个方面:

1. 语法错误:属性未正确嵌套到data对象

你写的代码里,attributes字段是在data对象定义完成后单独声明的,这会导致data对象根本不包含attributes属性,同时这也是JavaScript语法错误。正确的做法是把attributes作为data的一个键值对,放到对象内部。

2. 参数类型不符合WooCommerce API要求

WooCommerce v2 API对产品属性的参数类型有严格要求,你的代码里多个参数类型错误:

  • variation和visible需要是布尔值(false),不是字符串"false"
  • options需要是数组,比如["ANY"],不是字符串"[ANY]"
  • id和position需要是整数(0、1),不是浮点数0.0、1.0

修正后的完整代码

// 修正后的data结构,可正常创建带自定义属性的产品
var data = {
  "name": " TESTING HERE TOO",
  //"sku" : "TESTINGINGING    ",
  "type": "simple",
  "regular_price": "1.99",
  "weight": 10,
  "manage_stock": true,
  "stock_quantity": 10,
  "description": "testing \n",
  "attributes": [
    {
      "variation": false,
      "options": ["ANY"],
      "id": 0,
      "name": "Supplier",
      "position": 0,
      "visible": false
    },
    {
      "variation": false,
      "options": ["ANY"],
      "id": 0,
      "name": "Invoice",
      "position": 1,
      "visible": false
    }
  ]
};
var surl = website + "/wp-json/wc/v2/products?consumer_key=" + keys + "&consumer_secret=" + scret;
var options = {
  "method": "POST",
  "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
  "muteHttpExceptions": true,
  "payload": data
};

验证说明

修正后,attributes会被正确识别为包含对象的数组,每个属性的参数类型也符合API要求,就能正常创建带自定义属性的简单产品了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 23:45:39