私は1つの非公開のショップ化アプリケーションを作成しました。これは、製品IDでほぼすべての情報を得ることができます。しかし、私はAPIを持つショップ内のすべての製品の製品IDを取得するオプションが必要です。私はShopify Python APIからすべての製品IDを取得する方法
shopify.Product.find()
下記のオプションを試してみましたが、それは最初の50個の製品を示しています。しかし私の店には2.4k以上の製品があります。
私は1つの非公開のショップ化アプリケーションを作成しました。これは、製品IDでほぼすべての情報を得ることができます。しかし、私はAPIを持つショップ内のすべての製品の製品IDを取得するオプションが必要です。私はShopify Python APIからすべての製品IDを取得する方法
shopify.Product.find()
下記のオプションを試してみましたが、それは最初の50個の製品を示しています。しかし私の店には2.4k以上の製品があります。
Shopifyは、リソースリストのページ付けされた応答を返します。ページあたりのリソースのデフォルト数は50
で、デフォルトページは1
です。あなたの要求は、次のように等価です:
shopify.Product.find(limit=50, page=1)
Shopifyはあなたがここで私は与えられたリソースのすべてを取得するために使用するヘルパー関数です250にページあたりの上限を増やすことができます:
def get_all_resources(resource, **kwargs):
resource_count = resource.count(**kwargs)
resources = []
if resource_count > 0:
for page in range(1, ((resource_count-1) // 250) + 2):
kwargs.update({"limit" : 250, "page" : page})
resources.extend(resource.find(**kwargs))
return resources
あなたは
products = get_all_resources(shopify.Product)
パラメータを渡すこともできます。あなたの質問は、製品ID-のために特別に尋ねるあなたはIDのみを返すようにクエリを制限した場合(これは、製品のバリエーションのいずれかに引っ張っする必要はありませんので)、これは非常に速く、非常に次のようになります。
product_ids = get_all_resources(shopify.Product, fields="id")
2.4k製品をお持ちの場合、これには時間がかかることにご注意ください!
ドキュメント:あなたのソリューションのための https://help.shopify.com/api/reference/product
おかげで多くのことを。私は質問を投稿した後にそれを解決することができますが。しかし、私はあなたのソリューションが好きでした。 :) –
ラファエットありがとう、おそらくこれは他の誰かを助けるでしょう:) – Julien