ShopifyでShop metafieldを更新したかったので調べてみました
管理画面 > Settings > Custom data > Metafield definitions には Shop
がなく画面から更新はできないです
GraphQLで更新するには
mutation updateShopMutation($metafields: [MetafieldsSetInput!]!) {
metafieldsSet(metafields:$metafields){
metafields{
id
key
value
}
userErrors{
code
message
}
}
}
Variablesが
{
"metafields": [
{
"key": "materials",
"namespace": "my_fields",
"ownerId": "gid://shopify/Shop/12345678",
"type": "multi_line_text_field",
"value": "95% Cotton\n5% Spandex"
}
]
}
で更新できます
ownerId
に渡したもののMetafieldが更新されます
type
は List of data types を参考にしてください
実行すると定義がなくても作られました
Shop idが分からなかったらクエリを投げて確認しましょう
クエリでShopのidとMetafieldを確認するには
query shop {
shop {
id
name
metafields(first: 10) {
nodes {
namespace
key
value
}
}
}
}
で確認できます
簡単に見るなら https://admin.shopify.com/store/(shop name)/metafields.json
にアクセスしても見れます
商品のMetafieldだと updateProduct
でできるのですが、Shopはなさそうでした
Shop metafieldはちょっと隠されてるのが気になります
PR
このリンクは、アフィリエイトリンクです