Storefront API 拿不到 metafield 是权限问题吗
现象#
后台商品已经填了 metafield,Storefront API 查询返回 null,Admin API 查却有值。
原因#
- metafield definition 的
access.storefront为NONE - 查询时没有指定 namespace 与 key
- metafield 属于未发布的 definition
处理步骤#
- 在后台「自定义数据 → 定义」里把 Storefront 访问权限改为
PUBLIC_READ - 查询写全:
metafield(namespace: "custom", key: "badge") { value type } - 列表字段用
metafields(identifiers: [...])批量取 - 改完权限后重新查询,必要时清 CDN 缓存
验收标准#
Storefront API 能读到与后台一致的 metafield 值,类型正确,前端渲染正常。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。