首页 > 解决方案 > 无法使用 StoreFront GraphQL API 获取产品元字段

问题描述

我正在为我的 Shopify 商店使用店面 API。并且需要为我的产品检索产品元字段。我已经使用 3rd 方应用程序(Metafields Guru)添加了元字段。

我需要为产品获取所有这些元字段,并且一直在关注这篇文章。 https://shopify.dev/tutorials/retrieve-metafields-with-storefront-api

{
  productByHandle(handle: "xxx-handle") {
  id
  title
  handle
  productType
  metafields(first: 5) {
    edges {
      node {
        key
        value
      }
    }
  }
}

}

但是我得到了一个用于元字段的空数组。不知道我在这里缺少什么。任何帮助,将不胜感激

标签: graphqlshopifye-commerceshopify-apishopify-storefront-api

解决方案


这里有几个问题。

  1. 创建元字段时,必须将它们分配给命名空间。当您尝试使用 Storefront API 检索它们时,您必须提供此名称空间,但您没有这样做。
  2. 即使您使用某些应用程序在管理员中创建元字段,您也不会使用 Storefront API 看到它们,除非您使用特殊标志将它们打开。

所以这也可能是一个错过的步骤。阅读此内容并注意 MetafieldStorefrontVisibility。您将命名空间和键设置为可见。这意味着如果没有仔细考虑打开或关闭每个元字段以访问 Storefront API,您可能不会随意创建元字段。


推荐阅读