【问题标题】:Can't Get Product Metafields using StoreFront GraphQL API无法使用 StoreFront GraphQL API 获取产品元字段
【发布时间】:2021-02-23 21:30:48
【问题描述】:

我正在为我的 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
      }
    }
  }
}

}

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

【问题讨论】:

    标签: graphql shopify e-commerce shopify-api shopify-storefront-api


    【解决方案1】:

    这里有几个问题。

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

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

    【讨论】:

    • 我已经在那里分配了命名空间,但对于主题而言,这是非常痛苦的。不是店面。所以这也是问题所在。
    【解决方案2】:

    我会扩展一点大卫的答案,因为我还不能将 cmets 添加到其他答案中。

    确实,您必须通过运行突变 MetafieldStorefrontVisibility 使元字段对 Storefront API 显式可见。以下是一些有用的链接:

    另外,我发现了一个不错的应用 Accentuate Custom Fields,它提供了 UI 选项,用于在配置元字段时使元字段对 Storefront API 可见:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-17
      • 2020-06-05
      • 1970-01-01
      相关资源
      最近更新 更多