淘宝评论API获取JSON数据全流程指南

1. 准备工作

  • 注册平台账号

  • 创建应用并申请权限

    • 进入"控制台-应用管理",创建应用(类型选"第三方应用"或"企业自用应用")。
    • 申请接口权限:核心接口为taobao.item.reviews.get(商品评论列表)、taobao.traderates.get(交易评价数据)。
    • 审核通过后获取app_keyapp_secret(需妥善保管)。

2. 接口调用核心参数

参数名 必选 说明 示例值
method 接口名称 taobao.item.reviews.get
num_iid 商品ID(从商品URL提取) 123456789
page_no 分页页码(默认1) 1
page_size 每页评论数(默认20,最大100) 50
sort 排序方式(时间/评分) create_time:desc
sign_method 签名算法(MD5/HMAC-SHA256) hmac
timestamp 时间戳(格式:YYYY-MM-DD HH:MM:SS 2025-09-10 12:00:00

3. 签名生成算法

以HMAC-SHA256为例:

python 复制代码
python
import hmac
import hashlib
 
def generate_sign(params, app_secret):
    sorted_params = sorted(params.items())  # 按参数名ASCII升序排序
    query_str = '&'.join([f"{k}={v}" for k, v in sorted_params if k != 'sign'])  # 拼接字符串
    sign_str = f"{app_secret}{query_str}{app_secret}"  # 前后拼接App Secret
    return hmac.new(app_secret.encode(), sign_str.encode(), hashlib.sha256).hexdigest().upper()

4. 完整调用代码示例(Python)

python 复制代码
python
import requests
import time
 
APP_KEY = "YOUR_APP_KEY"
APP_SECRET = "YOUR_APP_SECRET"
ITEM_ID = "123456789"  # 商品ID
API_URL = "https://eco.taobao.com/router/rest"
 
# 构造请求参数
params = {
    "method": "taobao.item.reviews.get",
    "app_key": APP_KEY,
    "num_iid": ITEM_ID,
    "page_no": 1,
    "page_size": 50,
    "sort": "create_time:desc",
    "timestamp": time.strftime("%Y-%m-%d %H:%M:%S"),
    "format": "json",
    "v": "2.0",
    "sign_method": "hmac"
}
 
# 生成签名并添加到参数
params["sign"] = generate_sign(params, APP_SECRET)
 
# 发送请求
response = requests.get(API_URL, params=params)
result = response.json()
 
# 解析JSON数据
if "item_reviews_get_response" in result:
    reviews = result["item_reviews_get_response"]["reviews"]["review"]
    for review in reviews:
        print(f"用户昵称: {review['user_nick']}")
        print(f"评论时间: {review['created']}")
        print(f"评分: {review['score']}星")
        print(f"评论内容: {review['content']}")
        if "pictures" in review:
            print(f"晒图链接: {review['pictures'][0]}")
else:
    print(f"请求失败: {result.get('error_response', '未知错误')}")

5. JSON数据结构示例

成功响应的JSON格式如下:

css 复制代码
json
{
  "item_reviews_get_response": {
    "total_results": "4605",
    "reviews": {
      "review": [
        {
          "user_nick": "用户123",
          "content": "商品质量很好,物流也很快!",
          "score": "5",
          "created": "2025-03-25 10:00:00",
          "pictures": ["http://example.com/image1.jpg"],
          "reply": {
            "content": "感谢您的支持!",
            "reply_time": "2025-03-25 12:00:00"
          }
        }
      ]
    }
  }
}
相关推荐
RestCloud2 天前
ETL参数化技巧:如何避免写一堆重复任务?
api
RestCloud2 天前
RestCloud iPaaS与MQ消息集成如何重塑企业集成韧性
api
一只专注做软件的湖南人2 天前
别再卡分页!淘宝全量商品接口实战开发指南:从并发优化到数据完整性闭环
api
上单带刀不带妹2 天前
Vue3 全局 API 转移详解
前端·javascript·vue.js·vue3·api
onelafite3 天前
淘宝开放平台拍立淘接口返回参数及调用操作指南
api·fastapi
乐予吕3 天前
用 HTTP OPTIONS 发现 API 的隐藏能力
后端·http·api
RestCloud4 天前
ETL调度最佳实践:避免高峰期任务冲突与资源争抢
api
RestCloud4 天前
RestCloud × 物流行业:让货物追踪更精准,让供应链协同更高效
api
一只专注做软件的湖南人4 天前
京东商品评论接口(jingdong.ware.comment.get)技术解析:数据拉取与情感分析优化
前端·后端·api