如何更新它以使用基于光标的分页?

时间:2020-03-05 07:26:46

标签: shopify shopify-app

我在我的应用程序中使用以下代码来获取shopify中所有订单的列表。 API调用2019-07已被弃用,现在正尝试更新以下代码以使用最新的基于游标的分页 代替。

我使用此Shopify API客户端 https://github.com/nyalex/shopify-generating-api-token-guide

<?php
require_once("inc/functions.php");

$requests = $_GET;
//$hmac           = $_GET['hmac'];
$serializeArray = serialize($requests);
$requests       = array_diff_key($requests, array('hmac' => ''));
ksort($requests);
$token    = "xxxxxxxxx";
$shop     = "xxxxxxxxxx";   
$storeURL = "https://" . $shop . ".myshopify.com";
$allOrder = array();
$i        = 1;
do {
    $array  = array('limit' => '250', 'status' => 'any', 'page' => $i);
    $orders = shopify_call($token, $shop, '/admin/api/2019-07/orders.json', $array, 'GET');
    $orders = json_decode($orders['response'], JSON_PRETTY_PRINT);
    $i++;
    foreach ($orders['orders'] as $order) {
        $allOrder[] = $order;
    }
} while (count($orders['orders']) != 0);

//print_r($orders);
?>

谢谢

1 个答案:

答案 0 :(得分:0)

实施

如果您想实现基于游标的分页,则有几个链接将对您有所帮助:

Make paginated requests to the REST Admin API-基本原理和简要说明

How to Use Relative Pagination In Your Application-有关如何使用基于相对的分页的更全面指南。包括两个可用的类型since_id参数和Link标头。

使用现有解决方案

如果只想使代码正常工作,则可以使用一种API库。您可以在此页面上找到其中的一些:Shopify Admin API libraries。其中有3个,似乎至少有2个支持基于光标的分页: