请给出淘宝商品详情API接口的使用示例
2025年4月18日 15:17
以下是一个使用淘宝商品详情API接口(taobao.item.get
)的完整示例,包含请求参数配置、签名生成和HTTP请求发送的代码。示例以Python语言实现:
Python示例代码
python
import requests
import hashlib
import time
from urllib.parse import urlencode
# 配置参数
app_key = "your_app_key" # 替换为你的AppKey
app_secret = "your_app_secret" # 替换为你的AppSecret
url = "https://eco.taobao.com/router/rest"
# 请求参数
params = {
"method": "taobao.item.get",
"app_key": app_key,
"timestamp": time.strftime("%Y-%m-%d %H:%M:%S"), # 当前时间戳
"format": "json",
"v": "2.0",
"sign_method": "md5",
"num_iid": "123456789", # 商品ID,替换为实际商品ID
"fields": "num_iid,title,price,nick,pic_url,detail_url" # 返回字段
}
# 生成签名
def generate_sign(params, secret):
"""生成淘宝API签名"""
sorted_params = sorted(params.items()) # 按字典序排序
base_string = ''.join([f"{k}{v}" for k, v in sorted_params]) + secret # 拼接参数+密钥
return hashlib.md5(base_string.encode('utf-8')).hexdigest().upper()
# 添加签名到参数
params['sign'] = generate_sign(params, app_secret)
# 发送HTTP请求
def call_taobao_api(url, params):
"""
调用淘宝API并返回结果
"""
try:
response = requests.get(url, params=params)
response.raise_for_status() # 检查HTTP请求是否成功
return response.json() # 返回JSON格式的响应
except requests.exceptions.RequestException as e:
print(f"HTTP请求失败: {e}")
return None
# 调用API并打印结果
result = call_taobao_api(url, params)
if result:
print("API调用成功,返回结果:")
print(result)
else:
print("API调用失败。")
代码说明
-
参数配置:
-
method
:固定为taobao.item.get
。 -
num_iid
:商品ID,需替换为实际商品的ID。 -
fields
:指定返回的字段,如title
(标题)、price
(价格)等。
-
-
签名生成:
- 按字典序排序参数,拼接成字符串后附加
AppSecret
,使用MD5加密生成签名。
- 按字典序排序参数,拼接成字符串后附加
-
HTTP请求:
- 使用
requests
库发送GET请求,携带所有参数(包括签名)。
- 使用
-
错误处理:
- 捕获网络错误或API返回的错误码,并进行相应处理。
运行结果示例
假设商品ID为123456789
,运行代码后可能返回如下结果:
成功返回
json
{
"item_get_response": {
"item": {
"num_iid": "123456789",
"title": "示例商品标题",
"price": "88.88",
"nick": "卖家昵称",
"pic_url": "https://img.alicdn.com/xxx.jpg",
"detail_url": "https://item.taobao.com/item.htm?id=123456789"
}
}
}
失败返回
json
{
"error_response": {
"code": 15,
"msg": "用户未授权访问该应用"
}
}
注意事项
-
时间戳格式:
timestamp
需为yyyy-MM-dd HH:mm:ss
格式。 - 签名规则:必须严格按淘宝API签名规则生成。
-
字段选择:
fields
参数可指定需要返回的字段,避免请求不必要的数据。
通过以上代码,开发者可以快速调用淘宝商品详情API接口,获取商品的详细信息,并将其集成到自己的应用中。