如何通过 Laravel 中的 API 从 Shopify 商店获取所有订单
Posted
技术标签:
【中文标题】如何通过 Laravel 中的 API 从 Shopify 商店获取所有订单【英文标题】:How to get all orders from Shopify Store via API in Laravel 【发布时间】:2021-08-16 01:28:35 【问题描述】:您好,我创建了一个 Shopify 应用程序,我正在尝试使用 Orders Shopify API 从我的 Shopify 商店获取订单列表。我正在使用 Laravel。我是这个框架的新手,到目前为止我只能通过使用相同的功能来获得产品。
拜托,我在互联网上翻来覆去,却一无所获。我希望有人帮助解决这个问题。如果还有关于如何将订单同步到数据库的建议,那就太好了。谢谢
$array = array();
$shop = Auth::user();
$orders = $shop->api()->rest('GET',"/admin/api/2021-04/orders.json", $array);
$orders = json_decode($orders['response']->getBody(), JSON_PRETTY_PRINT);
【问题讨论】:
【参考方案1】:对于私有应用,不需要像“所有订单”那样的额外范围。 你可以这样。
$orders = $shop->api()->rest('GET', '/admin/orders.json', array('status' => 'any', 'created_at_min' => "1900-01-01"));
【讨论】:
【参考方案2】:要获得 Shopify 订单,您可以使用以下文档: https://shopify.dev/docs/admin-api/rest/reference/orders/order
-
您需要创建私有应用程序并生成 api 密钥。 确保您已将 read_orders、read_all_orders 访问权限添加到您的私有应用中
然后使用您的 api 密钥发送请求接收订单列表:GET /admin/api/2021-01/orders.json?status=any
注意: 自 2018 年 6 月 6 日起,默认情况下,只能从订单资源访问商店最近 60 天的订单。如果您想访问旧订单,则需要请求访问所有订单。如果您的应用被授予访问权限,那么您可以将 read_all_orders 范围与 read_orders 或 write_orders 一起添加到您的应用中。私有应用不受此更改的影响,并自动获得范围。
【讨论】:
感谢您的回复和建议。我没有添加 read_all_orders 所以我现在试试。 你好@Vitality,我试着听从你的建议,但仍然没有数组 null以上是关于如何通过 Laravel 中的 API 从 Shopify 商店获取所有订单的主要内容,如果未能解决你的问题,请参考以下文章
如何从 laravel 7 API 中的两个表中选择特定列?
如何从 laravel 5.2 中的网站提取 API? [关闭]
如何从 Laravel 8 中的自定义 Web 路由中删除“api/”前缀?
Vue + Laravel:如果元组数据之一中的表单数组中的数据,如何从api挂载数据