1

我正在构建一个使用 Shopify 作为后端和 Nodejs 作为前端的无头应用程序

使用 Shopify App Store - Variant image penguin,我已将多个图像添加到变体中。

谁能告诉我如何通过 GraphQL 获取产品变体的所有图像

提前致谢

4

1 回答 1

2
 Usually variant has only one image so this is how to fetch it:   
 {
      products(first: 20) {
        edges {
          node {
            variants(first: 5) {
              edges {
                node {
                  image {
                    id
                    originalSrc
                  }
                }
              }
            }
            id
            title
          }
        }
      }
    }

但是,如果一个应用程序允许您使用多个,这意味着他们可以使用以下方法之一:

  1. 将多个图像合并为一个图像 - 因此,如果您下载此图像,您将看到其中的所有图像
  2. 使用 Liquide API 并将 src 注入您的 html - 因此 graphQL 没有此信息,除非您使用 graphQL 来获取注入的 html(我不确定它是否可能)但无论如何它对您来说更加复杂和冒险,因为每个模板有不同的html

如果你想要一个完整的 nodeJS 示例:

const query = `{
  products(first: 20) {
    edges {
      node {
        variants(first: 5) {
          edges {
            node {
              image {
                id
                originalSrc
              }
            }
          }
        }
        id
        title
      }
    }
  }
}`
  const response = await axios({
    headers: {
      "Content-Type": "application/json",
      "X-Shopify-Access-Token": store.accessToken
    },
    method: "post",
    data: {
      query
    },
    url: `https://${store.domain}/admin/api/2020-07/graphql.json`
  });
于 2020-10-13T18:18:01.823 回答