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

Shopify API创建产品异常:返回HTTP 200但产品未生成

Shopify API创建产品异常:POST返回200但产品未生成

问题核心

调用POST /admin/api/2023-07/products.json接口创建产品时,JSON请求格式合规,接口返回HTTP 200状态码,但店铺后台未生成新产品,且响应内容为店铺现有产品列表。已确认应用具备产品创建权限、授权令牌有效。

代码问题排查

1. URL格式错误

代码中url = "URL.com/admin/api/2023-07/products.json"存在两个关键问题:

  • 缺少https://协议头,会导致请求被服务器异常处理
  • URL.com是占位符,未替换为实际店铺域名(正确格式应为https://[店铺名称].myshopify.com)

这种错误会触发服务器重定向,requests库默认会跟随重定向,原本的POST请求会被转换为GET请求,最终调用的是获取产品列表的接口(GET /admin/api/2023-07/products.json),这就是返回200状态码和现有产品列表的根本原因。

2. 访问令牌未填充

代码中X-Shopify-Access-Token的值为空字符串,即便你确认令牌有效,也需确保代码中已填写正确的令牌内容。

修正后的代码

import requests

# 替换为你的实际店铺域名,必须包含https协议
url = "https://your-shop-name.myshopify.com/admin/api/2023-07/products.json"  

headers = {
    "Content-Type": "application/json",
    # 填入有效的Shopify访问令牌
    "X-Shopify-Access-Token": "your-valid-access-token"
}

payload = {
  "product": {
    "title": "Burton Custom Freestyle 151",
    "body_html": "<strong>Good snowboard!</strong>",
    "vendor": "Burton",
    "product_type": "Snowboard"
  }
}

response = requests.post(url, headers=headers, json=payload)
# 打印响应信息,方便排查后续问题
print("响应状态码:", response.status_code)
print("响应内容:", response.json())

额外排查步骤

  • 打印完整响应内容,确认是否存在重定向痕迹或隐藏错误信息
  • 使用抓包工具(如Charles、Fiddler)监控实际发送的请求,验证请求方法为POST且URL正确
  • 再次核对店铺域名拼写,确保格式为[店铺名称].myshopify.com

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 14:53:14