news 2026/2/17 9:37:30

淘宝天猫商品视频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/16 16:58:20

Rembg抠图案例分析:产品目录制作的流程

Rembg抠图案例分析:产品目录制作的流程 1. 引言:智能万能抠图在电商场景中的价值 随着电商平台竞争日益激烈,高质量的产品图片已成为提升转化率的关键因素。传统人工抠图成本高、效率低,难以满足大批量商品上架的需求。而AI驱动…

作者头像 李华
网站建设 2026/2/15 16:02:38

atoi函数在物联网设备数据解析中的实战应用

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个物联网设备数据解析示例,接收类似"TEMP:23.5,HUMI:65"的字符串,使用atoi解析其中的数值部分。要求:1.实现字符串分割 2.识别…

作者头像 李华
网站建设 2026/2/11 6:17:45

Bun.js vs Node.js:开发效率全面对比测试

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个性能对比测试工具,比较Bun.js和Node.js在以下场景的表现:1. HTTP服务器吞吐量;2. 文件I/O操作;3. 数据库查询;4…

作者头像 李华
网站建设 2026/2/16 5:58:33

AI助力Redis管理:自动生成RedisManager配置工具

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个基于Python的RedisManager桌面应用,使用PyQt5构建界面,包含以下功能:1.多Redis实例连接管理(支持SSH隧道) 2.键值增删改查可视化操作 3…

作者头像 李华
网站建设 2026/2/11 20:37:02

DROW.IO实战:构建一个智能待办事项应用

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个智能待办事项应用,使用DROW.IO平台实现以下功能:任务添加、删除、标记完成,支持任务分类和优先级设置。应用应具备响应式设计&#xff…

作者头像 李华
网站建设 2026/2/5 11:31:32

Python+React 专为儿童打造的汉字学习平台:从学前到小学的智能汉字教育解决方案

摘要 本文介绍了一个专门为儿童设计的汉字学习平台——StrokeMaster。该平台结合现代Web技术和教育心理学原理,为3-12岁儿童提供了一个互动性强、寓教于乐的汉字学习环境。通过笔画练习、发音指导和字符分析等功能,帮助孩子们在游戏化的环境中掌握汉字书…

作者头像 李华