metafieldsにあるfile_referenceに新しくファイルをアップロードしたい人向けの備忘録
前提
- ファイルを既にどこかS3とかに置いておいて、外向きのURLを取得しておいてあること
クエリ
mutation fileCreate($files: [FileCreateInput!]!) {
fileCreate(files: $files) {
files {
... on MediaImage {
id
}
}
userErrors {
message
}
}
}
解説
fileCreateは[File]を返す一方で、metafieldsはMediaImageを要求する。
MediaImageはFileをimplementsしているため、こんな感じでクエリを書くことでMediaImageのIDがもらえる。
参考
https://shopify.dev/docs/api/admin-graphql/2023-01/mutations/fileCreate
https://shopify.dev/docs/api/storefront/2023-01/objects/MediaImage