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

如何用Shopify Bulk Query获取店铺全量商品详情?

解决Shopify Bulk Query获取全量商品详情的问题

问题根源

你遇到的两个核心问题:

  1. Bulk Query不支持普通GraphQL的edges/node层级结构,需直接查询集合字段
  2. GraphQL中Product类型的字段采用驼峰命名,而非REST API的下划线命名(比如productType而非product_type)

正确的Bulk Query语句

以下是包含你需要的所有字段的完整突变查询,字段对应关系完全匹配REST API /products.json 返回的内容:

query = '''
mutation {
  bulkOperationRunQuery(
    query: """
      {
        products {
          id
          title
          vendor
          productType
          description
          descriptionHtml
          # 如需更多匹配REST API的字段,可继续添加:
          # legacyResourceId
          # handle
          # createdAt
          # updatedAt
          # variants {
          #   id
          #   title
          #   price
          # }
        }
      }
    """
  ) {
    bulkOperation {
      id
      status
    }
    userErrors {
      field
      message
    }
  }
}
'''

shopify.GraphQL().execute(query)

关键字段映射说明

REST API字段GraphQL Bulk Query字段
idid(或legacyResourceId获取数字ID)
titletitle
vendorvendor
product_typeproductType
bodydescription
body_htmldescriptionHtml

后续操作步骤

执行突变后,需要轮询批量任务的状态,直到任务完成:

status_query = '''
query {
  bulkOperation(id: "gid://shopify/BulkOperation/2061234200041") {
    id
    status
    url
    errorCode
  }
}
'''
response = shopify.GraphQL().execute(status_query)

当status变为COMPLETED时,url字段即为包含全量商品数据的文件地址,下载后即可解析使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 22:10:29