0

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

}

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

4

2 回答 2

2

这里有几个问题。

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

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

于 2020-11-12T02:04:58.373 回答
0

我会扩展一点大卫的答案,因为我还不能对其他答案添加评论。

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

Also, I found a nice app Accentuate Custom Fields that provides UI options for making metafields visible to the Storefront API while configuring the metafields:

Make metafields visible to the Storefront API

于 2021-03-17T10:28:29.880 回答