提问者:小点点

Shopify-获取产品变体的所有图像-GraphQl


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

使用Shopify应用商店-Variant image penguin,我向Variant添加了多个图像。

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

提前感谢


共1个答案

匿名用户

 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中--所以图形QL没有这个信息,除非你使用图形QL来获取注入的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`
  });