×

如何使用淘宝商品评论API?

知名用户18007905473 知名用户18007905473 发表于2025-12-15 17:07:16 浏览12 评论0

抢沙发发表评论

淘宝商品评论 API 的核心调用接口为taobao.item.reviews.get,使用需先完成开放平台的资质认证与权限申请,再通过构造合规请求参数、生成签名发起调用,最后解析返回数据。以下是分步骤的详细使用教程,含实战代码与避坑要点:
  1. 前期准备:完成资质与权限申请

    这是调用接口的前提,需通过关注博主完成账号认证、应用创建和权限申请,具体操作如下:

    1. 注册并实名认证:访问淘宝开放平台,用淘宝账号登录后完成实名认证。个人认证需上传身份证,每日调用配额通常仅 100 次;企业认证需提交营业执照与对公账户信息,审核通过后配额可达 10000 次 / 天,长期使用建议优先选择企业认证。

    2. 创建应用并获取密钥:登录后进入 “开发者中心> 应用管理”,点击 “创建应用”。填写应用名称(建议含 “运营分析”“口碑监测” 等合规字样,避免 “抓取” 等敏感词)、选择应用类型(如网页应用),并填写已备案的 HTTPS 回调地址。应用审核通过后,在应用详情页可获取App KeyApp Secret,这两个密钥是后续身份验证的核心,需妥善保管。

    3. 申请接口权限:在应用详情页的 “API 权限管理” 中,搜索taobao.item.reviews.get接口,提交权限申请。申请理由需清晰,例如 “用于自有店铺商品口碑分析,优化产品描述”,审核周期一般为 1 - 3 个工作日,审核通过后即可具备调用资格。

  2. 核心步骤:构造请求并发起调用

    接口调用需按规则构造参数、生成签名,再通过 HTTP 请求发送至官方接口地址。以下以 Python 为例,详解关键操作:

    python
    运行
    import hashlibimport timeimport requestsdef generate_sign(params, app_secret):
        """生成接口调用签名"""
        # 按参数名ASCII升序排序
        sorted_params = sorted(params.items(), key=lambda x: x[0])
        # 拼接参数并首尾添加App Secret
        sign_str = app_secret    for k, v in sorted_params:
            sign_str += f"{k}{v}"
        sign_str += app_secret    # MD5加密并转为大写
        return hashlib.md5(sign_str.encode()).hexdigest().upper()def call_review_api(app_key, app_secret, num_iid, page_no=1, page_size=20):
        """调用淘宝商品评论API"""
        # 接口请求地址
        url = "https://eco.taobao.com/router/rest"
        # 构造基础参数
        params = {
            "method": "taobao.item.reviews.get",
            "app_key": app_key,
            "num_iid": num_iid,
            "page_no": page_no,
            "page_size": page_size,
            "timestamp": time.strftime("%Y-%m-%d %H:%M:%S"),
            "format": "json",
            "v": "2.0"
        }
        # 生成签名并添加到参数中
        params["sign"] = generate_sign(params, app_secret)
        # 发起请求
        response = requests.get(url, params=params)
        return response.json()# 替换为你的实际信息APP_KEY = "你的App Key"APP_SECRET = "你的App Secret"# 替换为目标商品IDGOODS_ID = "689712345678"# 调用接口并打印结果result = call_review_api(APP_KEY, APP_SECRET, GOODS_ID)print(result)
    1. 明确请求参数:调用接口需包含必填参数和可选参数,常见参数如下表所示:

      参数名是否必填说明
      method固定为taobao.item.reviews.get,指定调用接口
      app_key前期获取的应用密钥
      num_iid商品 ID,可从商品详情页 URL 中提取
      timestamp当前时间,格式为YYYY - MM - DD HH:MM:SS,误差需≤5 分钟
      format返回格式,默认选json,便于解析
      vAPI 版本,固定填2.0
      page_no页码,默认 1,用于分页获取多页评论
      page_size每页评论条数,默认 20,最大可填 100
      rate_type评论类型筛选,1 为好评、2 为中评、3 为差评
    2. 生成签名:淘宝 API 要求生成签名以验证请求合法性,签名生成是关键步骤,错误会导致调用失败。规则为:将所有请求参数按参数名字典序排序,首尾拼接App Secret后用 MD5 或 HMAC - SHA1 加密,最终转为大写字符串。

    3. 发起接口请求:通过 HTTP GET 方式向淘宝 API 网关发送请求。以下是完整 Python 实战代码,包含签名生成、请求发送功能:

  3. 后续操作:解析返回数据与避坑要点

    python
    运行
    # 解析评论数据if result.get("code") == 0:
        review_data = result["resp_data"]["item_review_get_response"]
        total = review_data["total_results"]
        reviews = review_data["reviews"]
        print(f"共{total}条评论")
        for review in reviews:
            print(f"用户:{review['user_nick']},评分:{review['rate']},内容:{review['content']}")else:
        print(f"调用失败:{result['resp_data']['error_response']['sub_msg']}")
    1. 注意事项:一是控制调用频率,个人账号每日调用次数有限,企业账号虽配额更高,但也需避免超限;二是处理空值与脱敏字段,用户昵称等信息可能脱敏,pic_urls等字段可能为空,解析时需避免空指针异常;三是图片长期存储,评论图片链接有效期约 30 天,若需长期使用需下载至自有服务器;四是处理常见错误,如签名错误需检查参数排序和加密逻辑,权限不足需确认接口审核状态。

    2. 解析返回数据:接口成功返回的 JSON 数据包含总评论数和评论列表,可提取评论内容、评分、用户昵称等核心信息。例如解析单条评论的评分和内容:


群贤毕至

访客