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

向Shopify发送JSON数组时HTTP请求出错,请求协助排查

问题排查与解决方案

核心问题1:请求体缺少外层blog包裹

Shopify Admin REST API要求创建博客的POST请求体必须将所有参数包裹在blog对象内,你的代码直接序列化Blog结构体,生成的JSON没有外层blog键,导致API无法识别必填参数。

核心问题2:BlogMeta结构体缺少JSON字段标签

BlogMeta结构体字段首字母大写,json.Marshal会将字段名序列化为大写开头(比如Key变成"Key"),但Shopify API要求元字段的字段名是小写格式("key"、"value"等),格式不匹配会导致元字段参数无效。

修复后的代码示例

修正结构体定义

type BlogRequest struct {
    Blog Blog `json:"blog"`
}

type Blog struct {
    Title           string     `json:"title"`
    Template_suffix string     `json:"template_suffix"`
    Metafields      []BlogMeta `json:"metafields"`
}

type BlogMeta struct {
    Key       string `json:"key"`
    Value     string `json:"value"`
    Type      string `json:"type"`
    Namespace string `json:"namespace"`
}

修正请求序列化逻辑

blog := Blog{
    Title:           fileNameWithoutExtSliceNotation(doc.Name()),
    Template_suffix: "hit_parader_issue_template",
    Metafields: []BlogMeta{
        {
            Key:       "filter_tag_list",
            Value:     "Popular",
            Type:      "single_line_text_field",
            Namespace: "global",
        },
    },
}

// 将博客数据包裹到外层结构中
blogReqBody := BlogRequest{Blog: blog}
blogJSON, err := json.Marshal(blogReqBody)
if err != nil {
    // 处理序列化错误
}

blogReq, err := http.NewRequest("POST", newBlogQuery, bytes.NewBuffer(blogJSON))
blogReq.Header.Add("X-Shopify-Access-Token", TOKEN)
blogReq.Header.Add("Content-Type", "application/json")

resp1, err := client.Do(blogReq)

额外验证建议

  • 序列化后打印blogJSON内容,确认格式符合要求,正确示例:
    {
      "blog": {
        "title": "你的博客标题",
        "template_suffix": "hit_parader_issue_template",
        "metafields": [
          {
            "key": "filter_tag_list",
            "value": "Popular",
            "type": "single_line_text_field",
            "namespace": "global"
          }
        ]
      }
    }
    
  • 确认newBlogQuery的URL格式正确,需匹配Shopify API端点规范(例如https://{shop}.myshopify.com/admin/api/2022-10/blogs.json)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 03:55:29