news 2026/2/14 2:18:15

淘宝天猫商品视频API接口指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
淘宝天猫商品视频API接口指南

一、前言

淘宝商品视频 API 是淘宝开放平台(TOP)提供的官方接口,核心用于获取淘宝 / 天猫商品关联的视频信息(如视频播放地址、时长、封面、状态等)。该接口广泛应用于电商数据分析、第三方电商工具开发、商品信息聚合展示等场景。

二、接口概述

以淘宝官方的「商品视频获取接口(taobao.item.video.get)」为例,核心信息如下:

1. 基础信息

项⽬说明
接口方法名taobao.item.video.get(固定值)
请求方式HTTP POST
正式环境地址c0b.cc/R4rbK2 (前往体验接口测试,Taobaoapi2014添加V获取)
接口权限需要申请「商品视频读取」相关权限(开放平台应用管理页配置)

2. 核心请求参数(必填 + 关键)

参数名类型说明
method字符串接口方法名,固定为taobao.item.video.get
app_key字符串开放平台创建应用后获取的 APP Key
session字符串用户授权后的 Session Key(部分场景需用户授权,如获取私有商品视频)
item_id字符串商品 ID(要查询视频的淘宝商品 ID)
format字符串响应格式,推荐填json
v字符串接口版本,固定为2.0
timestamp字符串时间戳,格式为yyyy-MM-dd HH:mm:ss(如2026-01-12 10:00:00
sign字符串请求签名(按淘宝规则生成,签名错误会直接调用失败)

3. 核心响应参数

参数名类型说明
video_id字符串视频唯一 ID
video_url字符串视频播放地址(URL)
video_duration数字视频时长(单位:秒)
cover_url字符串视频封面图片地址
status数字视频状态(1 = 正常,0 = 异常 / 下架)

三、Python 请求示例

1. 前置准备

  • 安装依赖库:

    bash

    pip install requests hashlib
  • 准备凭证:从淘宝开放平台获取APP_KEYAPP_SECRET,若需用户授权则补充SESSION

2. 完整调用代码

python

import requests import hashlib import time from urllib.parse import urlencode # ===================== 配置区(替换为你自己的信息) ===================== APP_KEY = "你的APP Key" APP_SECRET = "你的APP Secret" SESSION = "你的Session Key(非必填,根据权限要求填写)" ITEM_ID = "1234567890" # 要查询的淘宝商品ID API_ENV = "online" # online=正式环境,sandbox=沙箱测试环境 # ====================================================================== # 选择接口地址 API_URL = "c0b.cc/R4rbK2 (前往体验接口测试,Taobaoapi2014添加V获取)" if API_ENV == "online" else "https://gw.api.tbsandbox.com/router/rest" def generate_taobao_sign(params: dict, app_secret: str) -> str: """ 生成淘宝API签名(核心!签名错误会导致接口调用失败) 签名规则:参数按key升序排列 → 拼接成key+value字符串 → 前后加app_secret → MD5加密 → 转大写 """ # 1. 按参数名升序排序 sorted_params = sorted(params.items(), key=lambda x: x[0]) # 2. 拼接字符串(跳过空值) sign_str = app_secret for key, value in sorted_params: if value and str(value).strip(): sign_str += f"{key}{value}" sign_str += app_secret # 3. MD5加密并转大写 sign = hashlib.md5(sign_str.encode("utf-8")).hexdigest().upper() return sign def get_taobao_item_video(item_id: str) -> dict | None: """ 调用淘宝商品视频API,返回视频信息字典(失败返回None) """ # 1. 构造基础请求参数 base_params = { "method": "taobao.item.video.get", "app_key": APP_KEY, "session": SESSION, "item_id": item_id, "format": "json", "v": "2.0", "timestamp": time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()), "sign_method": "md5", "partner_id": "apidoc" # 固定值,仅用于文档示例 } # 2. 生成签名并补充到参数中 base_params["sign"] = generate_taobao_sign(base_params, APP_SECRET) try: # 3. 发送POST请求(淘宝API推荐POST方式) response = requests.post( url=API_URL, data=base_params, timeout=10, # 超时时间10秒 headers={"Content-Type": "application/x-www-form-urlencoded"} ) response.raise_for_status() # 抛出HTTP状态码异常(如400、500) # 4. 解析响应结果 result = response.json() # 处理接口错误 if "error_response" in result: err_msg = result["error_response"]["msg"] err_code = result["error_response"]["code"] print(f"接口调用失败:{err_msg}(错误码:{err_code})") return None # 提取视频核心信息 video_info = result["item_video_get_response"]["video"] return video_info except requests.exceptions.Timeout: print("错误:请求超时,请检查网络或接口地址") return None except requests.exceptions.RequestException as e: print(f"错误:请求异常 - {str(e)}") return None except KeyError as e: print(f"错误:响应解析失败,缺失字段 - {str(e)}") return None # 主程序调用 if __name__ == "__main__": video_data = get_taobao_item_video(ITEM_ID) if video_data: print("✅ 商品视频信息获取成功:") print(f"视频ID:{video_data.get('video_id')}") print(f"播放地址:{video_data.get('video_url')}") print(f"时长(秒):{video_data.get('video_duration')}") print(f"封面地址:{video_data.get('cover_url')}") print(f"视频状态:{video_data.get('status')}")

3. 代码关键说明

  • generate_taobao_sign函数:严格遵循淘宝签名规则生成签名,这是接口调用成功的核心,参数排序、拼接规则不能出错;
  • 异常处理:覆盖了超时、HTTP 错误、响应字段缺失等常见场景,避免程序直接崩溃;
  • 环境区分:支持正式环境和沙箱测试环境切换,方便开发调试。

四、结语

淘宝商品视频 API 的调用核心在于「凭证准备」和「签名生成」,新手容易踩的坑主要是签名规则错误、权限不足、参数格式不正确。在实际开发中,建议:

  1. 先在沙箱环境完成测试,再切换到正式环境;
  2. 控制接口调用频率,避免超出淘宝开放平台的限流阈值;
  3. 增加日志记录和重试机制(如签名过期、网络波动导致的调用失败);
  4. 若接口返回错误,可通过淘宝开放平台的「错误码查询工具」定位问题(如权限不足、商品 ID 无效等)。

总结

  1. 调用淘宝商品视频 API 的前提是完成开放平台开发者认证、获取 APP Key/Secret 等核心凭证,并申请对应接口权限;
  2. 签名生成是核心步骤,必须严格按照「参数升序拼接 + 前后加 APP Secret+MD5 加密转大写」的规则执行;
  3. 提供的 Python 示例包含完整的请求流程和异常处理,替换配置信息后即可快速测试,需注意区分正式 / 沙箱环境的接口地址。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/6 15:10:29

Rembg模型部署实战:云服务器配置指南

Rembg模型部署实战:云服务器配置指南 1. 引言 1.1 智能万能抠图 - Rembg 在图像处理与内容创作领域,精准、高效的背景去除技术一直是核心需求。传统手动抠图耗时费力,而基于深度学习的自动去背方案正逐步成为主流。其中,Rembg …

作者头像 李华
网站建设 2026/2/14 23:40:47

用UNSLOTH快速验证你的AI创意原型

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 构建一个端到端的AI应用原型(如聊天机器人或推荐系统),使用UNSLOTH加速模型训练部分。包括前端界面(可用Streamlit)、模…

作者头像 李华
网站建设 2026/2/13 9:19:56

零基础学会网页拖拽:快马平台5分钟教程

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个极简的可拖拽方块教学示例,要求:1. 使用最基础的JavaScript实现 2. 分步骤注释每行代码作用 3. 包含可视化操作指引 4. 提供常见问题解答。代码文件…

作者头像 李华
网站建设 2026/2/12 15:20:43

ResNet18多任务学习:云端GPU轻松跑通复杂实验

ResNet18多任务学习:云端GPU轻松跑通复杂实验 引言 作为一名AI研究员,你是否遇到过这样的困境:设计了一个精巧的多任务学习框架,却在本地显卡上频频遭遇显存不足的报错?ResNet18作为计算机视觉领域的经典轻量级网络&…

作者头像 李华
网站建设 2026/2/7 3:09:52

YOLOv13:AI如何革新目标检测开发流程

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 使用YOLOv13模型开发一个智能目标检测系统,要求能够实时识别视频流中的常见物体(如人、车、动物等)。系统应包含以下功能:1) 支持摄…

作者头像 李华
网站建设 2026/2/10 17:05:44

AI如何优化CEPH集群的自动化管理与调优

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个基于AI的CEPH集群管理工具,能够自动分析集群性能数据,预测潜在故障,并提供优化建议。工具需支持实时监控CEPH集群状态,包括…

作者头像 李华