我正在尝试使用Shopify API在我的应用中获取Shopify商店的所有产品。我有以下代码以页面方式获取所有产品。这个脚本在某个时间点断开,但我不知道在哪里。如何制作一个完整的脚本,可以一次性获取所有产品而不会破坏。
这是我到目前为止所做的:
$ch = curl_init();
for ($i=1; $i<=1000; $i++)
{
curl_setopt($ch, CURLOPT_URL, "https://API:PASS@store/products.json?page=$i");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 20);
$res = curl_exec($ch);
$res=json_decode($res, true);
foreach($res as $products) { // A different example
foreach($products as $product) {
$title=$product['title'];
}
}
sleep(1);
}
curl_close($ch);
答案 0 :(得分:4)
您可能正在接触Shopify API限制电话。所以你可能需要使用队列。以下是Shopify API限制计算的工作原理:
Shopify 使用漏桶式算法,桶大小为40次,泄漏率为每秒2次。
这是如何运作的:
这对您的应用意味着什么: