Shopify Graphql 产品媒体资源

Shopify Graphql Product Media Sources

我正在编写 graphql 查询来获取 Shopify 产品,但我不知道如何获取该产品的媒体源。根据文档和 GraphiQl,MediaConnection! 中唯一可用的字段是 altmediaContentTypepreviewImage.

下面的简化查询:

{
  productByHandle(handle: ${handle}) {
    media(first: 5) {
      edges {
        cursor
        node {
          alt
          mediaContentType
          previewImage {
            altText
            originalSrc
            transformedSrc(maxWidth: 500, maxHeight: 400, crop: CENTER, preferredContentType: JPG)
          }
        }
      }
      pageInfo {
        hasNextPage
        hasPreviousPage
      }
    }   
  }
}

如果我在媒体中没有任何视频,这很好,previewImage 就足够了,但是,如果 mediaContentType 是视频怎么办?如何获取 Video?

的来源

多亏@JHeth 的评论为我指明了这篇[帮助文章][1] 的方向,我才能够解决这个问题。我需要使用片段。

{
  productByHandle(handle: ${handle}) {
    media(first: 5) {
      edges {
        cursor
        node {
          alt
          mediaContentType
          previewImage {
            altText
            originalSrc
            transformedSrc(maxWidth: 500, maxHeight: 400, crop: CENTER, preferredContentType: JPG)
          }
          ... on Video {
            sources {
            format
            height
            mimeType
            url
            width
            }
          }
        }
      }
      pageInfo {
        hasNextPage
        hasPreviousPage
      }
    }   
  }
}

  [1]: https://shopify.dev/tutorials/manage-product-media-with-admin-api#retrieving-media-objects