使用Shopify API批量更新商品标签遇400错误:参数缺失或无效
解决Shopify API批量更新商品标签的400错误问题
核心问题原因
Shopify商品更新API要求请求体必须将所有参数嵌套在**product**顶级键下,你当前的payload直接传入id和tags,不符合API格式要求,这是导致400错误的根本原因。
正确的请求体格式
无论简化还是完整payload,都需要包裹在product对象内,示例如下:
{ "product": { "id": 123456789, "tags": "促销, 夏季新品" } }
Python代码修改示例
以requests库为例,调整请求体结构:
import requests # 替换为你的店铺信息和凭证 shop_domain = "your-shop-name.myshopify.com" api_version = "2024-07" access_token = "your-shopify-access-token" # 待更新的商品ID和标签 product_id = 123456789 new_tags = "促销, 夏季新品" # 构造符合要求的请求体 payload = { "product": { "id": product_id, "tags": new_tags } } headers = { "Content-Type": "application/json", "X-Shopify-Access-Token": access_token } # 发送PUT请求 api_url = f"https://{shop_domain}/admin/api/{api_version}/products/{product_id}.json" response = requests.put(api_url, json=payload, headers=headers) # 打印响应结果 print(response.status_code) print(response.json())
额外检查项
- 确认请求头包含
Content-Type: application/json,确保payload以JSON格式发送 - 检查你的Access Token拥有
write_products权限(在Shopify后台的应用设置中可查看) - 批量更新时注意Shopify API的速率限制,避免短时间内发送过多请求导致限流
内容的提问来源于stack exchange,提问作者Johnny51714
相关产品推荐
相关产品推荐

