如何通过京东开放平台API获取店铺所有商品列表

简介: 本文详解京东开放平台商品列表API调用全流程:涵盖开发者注册、应用创建、店铺授权获取access_token,以及签名生成、参数构造、Python示例代码和响应解析,助力商家/开发者高效自动化管理商品数据。(239字)


对于在京东平台运营店铺的商家或开发者来说,自动化管理和分析店铺商品数据是提升效率的关键。京东开放平台提供了丰富的API接口,其中就包含获取店铺商品列表的功能。本文将详细介绍如何调用此接口。

一、 准备工作
成为京东开放平台开发者: 访问京东开放平台官网,注册并创建开发者账号。
创建应用: 在开发者控制台创建一个应用,获取该应用的 App Key 和 App Secret。这两个密钥是调用API的身份凭证。
店铺授权: 你的应用需要获得目标店铺的授权。店铺所有者登录京东商家后台,在开放平台授权管理中对你的应用进行授权。授权成功后,你将获得该店铺的 access_token(访问令牌),这是代表店铺身份进行API调用的关键凭证。
二、 接口信息
接口名称: 商品查询接口 (根据具体API文档确认准确名称)
接口地址: https://api.jd.com/routerjson (此为通用网关地址,具体方法名通过参数传递)
请求方式: POST
是否需要授权: 是 (access_token)
三、 请求参数
调用API时,需要在请求中包含一系列参数。以下列出关键参数:

公共参数:
method: 具体API方法名称,例如 jingdong.product.search (需查阅最新文档确认)。
access_token: 店铺授权后获得的访问令牌。
app_key: 你的应用 App Key。
timestamp: 请求发起的时间戳,格式为 yyyy-MM-dd HH:mm:ss。
v: API版本号,例如 2.0。
sign: 根据请求参数生成的签名,用于验证请求合法性(见下文签名生成)。
业务参数:
page: 请求的页码(整数)。
page_size: 每页返回的商品数量(整数)。
(可选) sort: 商品排序方式。
(可选) fields: 指定需要返回的商品信息字段,例如 ware_id, title, price, stock 等。如果不指定,通常返回默认字段集。
签名生成 (sign)
签名是保证请求安全的重要环节。生成规则通常如下:

将所有请求参数(包括公共参数和业务参数,但不包括 sign 参数本身)放入一个集合。
按照参数名的字典序(字母顺序)对这个集合进行排序。
将排序后的参数名与参数值拼接成字符串:name1value1name2value2...。
在拼接好的字符串末尾,追加你的应用的 App Secret。
对步骤4得到的完整字符串进行 MD5 加密(或京东指定的其他加密算法)。
将加密结果转换为大写,即得到 sign 的值。
四、 请求示例 (Python)
import requests
import time
import hashlib
import urllib.parse

替换为你的实际信息

app_key = "YOUR_APP_KEY"
app_secret = "YOUR_APP_SECRET"
access_token = "YOUR_ACCESS_TOKEN"
page = 1
page_size = 10 # 每页10条

公共参数

params = {
"method": "jingdong.product.search", # 请替换为实际方法名
"access_token": access_token,
"app_key": app_key,
"timestamp": time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),
"v": "2.0", # 版本号
"page": page,
"page_size": page_size
}

生成签名 - 步骤1: 参数排序

sorted_params = sorted(params.items(), key=lambda x: x[0])

步骤2 & 3: 拼接键值对

sign_str = ""
for k, v in sorted_params:
sign_str += k + v

步骤4: 追加App Secret

sign_str += app_secret

步骤5: MD5加密

sign = hashlib.md5(sign_str.encode('utf-8')).hexdigest()

步骤6: 转换为大写

sign = sign.upper()

将签名加入请求参数

params["sign"] = sign

发起POST请求

url = "https://api.jd.com/routerjson"
response = requests.post(url, data=params)

处理响应

if response.status_code == 200:
data = response.json()

# 检查京东返回的code
if data.get("code") == "0":  # 通常0表示成功,具体看京东定义
    # 商品列表通常在 data["product_search_response"]["items"] 或类似路径下,需根据实际响应结构解析
    product_list = data["product_search_response"]["items"]
    for product in product_list:
        print(f"商品ID: {product['ware_id']}, 标题: {product['title']}, 价格: {product['price']}")
else:
    print(f"接口调用失败! 错误码: {data.get('code')}, 错误信息: {data.get('msg')}")

else:
print(f"HTTP请求失败! 状态码: {response.status_code}")
注意: 上述代码中的 product_search_response 和 items 是示例结构,实际响应字段名称请务必查阅京东开放平台对应API的最新文档。

五、 响应处理
成功的响应通常包含一个 code 字段(值为 0 或类似成功标识)和包含商品数据的 data 对象。商品列表通常是一个数组(如 items),数组中的每个元素代表一个商品,包含你在 fields 参数中指定的信息(或默认字段)。

需要仔细解析返回的JSON结构,提取所需的商品信息(如商品ID ware_id、标题 title、价格 price、库存 stock 等)。

六、 注意事项
权限范围: 确保你的应用具有调用该商品查询接口的权限,且 access_token 有效。
频率限制: 京东API通常有调用频率限制(QPS),请遵守平台规定,避免频繁调用导致接口受限。
分页获取: 如果商品数量很多,需要循环调用接口(递增 page 参数)来获取所有商品。
参数校验: 注意参数值的合法性(如页码、页大小)。
错误处理: 务必处理可能出现的网络错误、API返回的错误码(如签名错误 1001、权限不足等)。
密钥安全: App Secret 是敏感信息,务必妥善保管,避免泄露。不要在客户端代码或公开场合暴露。
文档时效性: API接口和参数可能更新,请始终参考京东开放平台提供的最新官方文档。
通过以上步骤,开发者即可实现通过京东开放平台API批量获取授权店铺的商品列表数据,为后续的商品管理、数据分析等场景提供数据支持。

相关文章
|
8天前
|
人工智能 安全 Linux
【OpenClaw保姆级图文教程】阿里云/本地部署集成模型Ollama/Qwen3.5/百炼 API 步骤流程及避坑指南
2026年,AI代理工具的部署逻辑已从“单一云端依赖”转向“云端+本地双轨模式”。OpenClaw(曾用名Clawdbot)作为开源AI代理框架,既支持对接阿里云百炼等云端免费API,也能通过Ollama部署本地大模型,完美解决两类核心需求:一是担心云端API泄露核心数据的隐私安全诉求;二是频繁调用导致token消耗过高的成本控制需求。
5125 9
|
15天前
|
人工智能 JavaScript Ubuntu
5分钟上手龙虾AI!OpenClaw部署(阿里云+本地)+ 免费多模型配置保姆级教程(MiniMax、Claude、阿里云百炼)
OpenClaw(昵称“龙虾AI”)作为2026年热门的开源个人AI助手,由PSPDFKit创始人Peter Steinberger开发,核心优势在于“真正执行任务”——不仅能聊天互动,还能自动处理邮件、管理日程、订机票、写代码等,且所有数据本地处理,隐私完全可控。它支持接入MiniMax、Claude、GPT等多类大模型,兼容微信、Telegram、飞书等主流聊天工具,搭配100+可扩展技能,成为兼顾实用性与隐私性的AI工具首选。
21013 114
|
7天前
|
JavaScript Linux API
保姆级教程,通过GACCode在国内使用Claudecode、Codex!
保姆级教程,通过GACCode在国内使用Claudecode、Codex!
4512 1
保姆级教程,通过GACCode在国内使用Claudecode、Codex!
|
12天前
|
人工智能 安全 前端开发
Team 版 OpenClaw:HiClaw 开源,5 分钟完成本地安装
HiClaw 基于 OpenClaw、Higress AI Gateway、Element IM 客户端+Tuwunel IM 服务器(均基于 Matrix 实时通信协议)、MinIO 共享文件系统打造。
8054 7
|
13天前
|
人工智能 JavaScript API
保姆级教程:OpenClaw阿里云/本地部署配置Tavily Search skill 实时联网,让OpenClaw“睁眼看世界”
默认状态下的OpenClaw如同“闭门造车”的隐士,仅能依赖模型训练数据回答问题,无法获取实时新闻、最新数据或训练截止日期后的新信息。2026年,激活其联网能力的最优方案是配置Tavily Search技能——无需科学上网、无需信用卡验证,每月1000次免费搜索额度完全满足个人需求,搭配ClawHub技能市场,还能一键拓展天气查询、邮件管理等实用功能。
8001 5

热门文章

最新文章