You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法获取指定时间范围的Shopify订单数据求助

解决指定时间范围获取Shopify订单数据的问题

核心问题分析

你的代码缺少时间范围过滤参数,这是无法获取指定时段订单的关键原因。另外,URL中的API密钥认证与Header里的Bearer Token认证重复,建议二选一避免冲突。

修正后的代码实现

下面是添加时间范围参数、优化认证方式后的完整代码:

import requests
import pandas as pd

# 替换为你的实际店铺信息
API_KEY = "你的API密钥"
PASSWORD = "你的密码/访问令牌"
STORE_NAME = "你的店铺域名前缀"
API_VERSION = "2022-10"

# 指定时间范围,必须使用ISO 8601格式(示例:2023-01-01T00:00:00Z)
start_time = "2023-01-01T00:00:00Z"
end_time = "2023-01-31T23:59:59Z"

# 构建带时间过滤参数的请求URL,这里采用URL嵌入密钥的认证方式
url = f"https://{API_KEY}:{PASSWORD}@{STORE_NAME}.myshopify.com/admin/api/{API_VERSION}/orders.json?status=any&created_at_min={start_time}&created_at_max={end_time}"

headers = {}
response = requests.get(url, headers=headers)

# 打印响应内容,也可转换为DataFrame处理
print(response.text)
# df = pd.json_normalize(response.json()['orders'])
# print(df.head())

关键细节说明

  • 时间参数规则:必须使用ISO 8601格式,支持两种过滤维度:
    • created_at_min/created_at_max:按订单创建时间过滤
    • updated_at_min/updated_at_max:按订单最后更新时间过滤
  • 认证方式二选一:
    1. URL嵌入API密钥+密码(如上代码)
    2. 仅使用Header中的Bearer Token,此时URL无需添加密钥信息,格式为https://{STORE_NAME}.myshopify.com/admin/api/{API_VERSION}/orders.json?xxx
  • 分页处理:若订单数量超过250(Shopify API默认单页上限),需通过page参数或limit参数分页获取,或遍历响应中的分页链接拉取全量数据

内容的提问来源于stack exchange,提问作者Ashutosh Srivastava

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 16:35:14