AjaxAPIで、商品のバリエーション毎に登録されているMetaFieldを取得することは出来ますでしょうか?

Javascriptで、特定の商品に登録されているmetaFieldを取得しようとしています。

以下の記述で、製品情報をjsonで取得できますが、

metaFieldの値が含まれておりません。

ajaxAPIで商品のメタフィールドを取得することは出来ないのでしょうか?

JSで取得する他の方法はありますでしょうか。

ご教授いただけますと幸いです。


fetch(‘/products/(handle).js’)
.then(response => response.json())
.then(data => {
//取得したproduct
console.log(data);
})
.catch((error) => {
console.error(‘Error:’, error);
})]


Yutta 様

はじめまして。

株式会社フルバランスのドウケと申します。

ajaxAPIのドキュメント記載のresponseを確認したところ、メタフィールドは入っていないので、取得できていないのだと思います。

https://shopify.dev/api/ajax/reference/product#response

もし、質問者様の条件に合うのであれば、liquidやGraphQLを使用されるのはいかがでしょうか。

liquid: https://shopify.dev/api/liquid/objects#product

GraphQL: https://shopify.dev/api/admin-graphql/2022-07/objects/Product

ご参考になれば幸いです。

1 Like

株式会社フルバランス ドウケ様

ご教授頂きありがとうございます。

やはり、LiquidもしくはGraphQLを用いての開発になるのですね。

ストアの仕様上、Liquidでのメタフィールドの取得が出来ないので、AjaxAPIでの取得ができないかと模索しておりました。

AjaxAPIで、メタフィールドが取得できるようになるとできる幅が広がるんですが。。。

かしこまりました!

ありがとうございます!