20

私は 100 を超える製品のメタフィールドを取得しようとしてきました。つまり、製品ごとに個別に 100 の API 呼び出しを行う必要があります。バリアントを製品に添付する方法のように、すべての製品のすべてのメタフィールドを 1 つの xml ファイルで取得する方法がある場合。そのため、1 回の API 呼び出しで、製品ごとに 100 個の個別の API 呼び出しを行う代わりに、100 個の製品すべてを取得します。どんな助けでも大歓迎です。

4

2 に答える 2

2

ただし、API doc で言及されているとよいでしょう。何もない

すべてのメタフィールドのリストを受け取る GET /admin/metafields.json?since_id=721389482

ショップのメタフィールドのみを返すことを示します。

于 2013-06-10T19:55:21.860 に答える
1

同じリクエストで複数のリソースのメタフィールドを取得するという多くのリクエストがありました。ただし、それらの多くは、リソースの ID とともに、アプリケーション側 (データベースなど) に情報を保持することで処理できます。このようにして、データは使用されている場所に近づきます。

メタフィールドを使用する正当な理由が 2 つあります。

  • Liquid テンプレートから使用するメタデータの保存
  • アプリケーション間の共有ストレージ

Liquid テンプレートのメタフィールドは、データがページのレンダリングに使用される場所に近いため、優れています。これにより、カスタム フィールドをアプリで提供し、ストアフロントでレンダリングできるため、レンダリングが高速になり、カスタマイズしやすくなります。

アプリケーション間の共有ストレージは、メタフィールドを使用するもう 1 つの正当な理由ですが、メタフィールドが使用される一般的な理由ではないようです。この場合、メタフィールド API には現在、複数のリソースのメタフィールドに一度にアクセスする方法がありません。

ただし、製品とともにメタデータを返すことは、あまり良い選択肢ではありません。これは、他のアプリケーションが、あなたのアプリケーションが気にしないメタフィールドにデータを保存する可能性があるためです。そのため、1 つのアプリケーションが、メタフィールドを使用していない他の多くのアプリケーションの速度を低下させる可能性があります。このため、メタフィールド API には、取得するメタフィールドを制限するクエリ パラメータがあり、他のアプリケーションのメタフィールドが不必要に返されることはありません。

于 2012-06-13T18:31:45.210 に答える