【问题标题】:How to get ALL shopify orders via API (limited to 250)如何通过 API 获取所有 shopify 订单(限 250 个)
【发布时间】:2019-04-10 23:45:22
【问题描述】:

您好,我正在尝试通过 shopify API 从 shopify 商店获取所有订单,我使用的是 R 脚本,到目前为止,如果我不使用 limit 关键字,我只能获得 250 条记录,即每页的限制在 php 中它默认为 50。

这是我目前所拥有的

library(dplyr)
library(httr)
library(rlist)
library(jsonlite)

apikey <- "xxxxxxxxxx1d2fd1fb8710"
pass <- "xxxxxxxxxxxx3e4d38d476fdb188ac7"

orders <- GET(
  url = "https://xxxxx-xxxxx.myshopify.com/admin/orders.json?query=&limit=250&status=any", 
  authenticate(user = apikey, password = pass)
)

如果我想通过 PHP 做同样的事情,我使用 https 调用并得到相同的 250 个结果

https://1x877xxxxbd3ed99ae30d1eb4d71cxxx:dcfee3235061bd149ebxxxxxxxxxxxxx@store.myshopify.com/admin/orders.json?query=&limit=250&status=any

有没有一种方法可以让我在一个电话中获得所有订单?

如果没有,有没有办法获取不同的页面,例如第 1、2、3、4、5 页等,稍后我可以将这些数据帧合并为 1。

【问题讨论】:

  • 正如 api 文档所说,最大值为 250

标签: php r shopify httr shopify-app


【解决方案1】:

使用分页。文档中有明确描述。

【讨论】:

    【解决方案2】:

    正如其他人所说,您必须使用分页。我最近创建了一个名为 shopr 的 R 包,它使这变得相当容易。

    library(shopr)
    
    orders <- shopr_get_orders(
      shopURL = "https://xxxxx-xxxxx.myshopify.com",
      APIKey = apikey,
      APIPassword = pass,
      APIVersion = "2019-04",
      max_pages = Inf,         # this is the default
      limit_per_page = 250L,   # this is the default
      since_id = 0L            # this is the default
    )
    

    shopr 将连续调用 API,获取 250 个订单块,然后为您将它们组合在一起。

    【讨论】:

      猜你喜欢
      • 2016-04-02
      • 2021-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多