Shopify新店铺Storefront GraphQL无法搜索商品问题
Shopify Storefront GraphQL查询新店铺商品返回空结果问题
我有两个Shopify店铺:
- 店铺1:创建于2个月前,包含5个分类,每个分类3个商品,共15个商品
- 店铺2:昨日创建,配置和数据属性与店铺1完全一致
但使用Storefront GraphQL查询新店铺的商品时,始终返回空响应。
查询详情
- 请求URL:
https://.myshopify.com/api/2023-07/graphql.json - GraphQL查询语句:
{ products(first: 10 , sortKey: TITLE , query: "title:shirt" , reverse: true) { edges { node { id,title,description,descriptionHtml,handle,productType,vendor,createdAt,updatedAt,publishedAt,tags, images(first: 1) { edges { node {id,src,url} } }, priceRange { maxVariantPrice {amount,currencyCode}, minVariantPrice {amount,currencyCode} }, options(first: 100) {id,name,values}, variants(first: 100) { edges { node { id,image {url},price{amount,currencyCode},title,availableForSale,quantityAvailable, selectedOptions {name,value}, product {id,title,updatedAt} } } } } } pageInfo {hasNextPage,hasPreviousPage} } }
- 返回结果:
{"data": {"products": {"edges": [],"pageInfo": {"hasNextPage": false,"hasPreviousPage": false}}}}
排查方向与解决方法
商品发布状态检查
Storefront API只能查询已发布到在线商店的商品。确认店铺2的商品是否已经设置为"发布"状态,而非草稿或未发布状态。索引延迟问题
新创建的店铺,Shopify需要时间为商品构建搜索索引。通常这个过程需要数小时,建议等待一段时间后再重试查询。查询语法验证
检查query: "title:shirt"的语法是否正确,Shopify的搜索查询语法支持部分匹配,但如果商品标题中没有包含"shirt"关键词,也会返回空结果。可以尝试去掉query参数,直接查询所有商品,看是否能返回数据。Storefront API权限确认
确保用于请求的Storefront API access token拥有unauthenticated_read_products权限,没有权限的话无法获取商品数据。店铺域名与API版本
确认请求URL中的店铺域名完整正确,API版本(2023-07)是否兼容当前店铺的设置,尝试使用最新的稳定API版本测试。
内容的提问来源于stack exchange,提问作者Mitul Bhadeshiya
相关产品推荐
相关产品推荐

