全部
常见问题
产品动态
精选推荐
功能建议

分析中 已回复 待规划 {{opt.name}}
分析中 已回复 待规划
(某音)商品详情接口douyin.item_get_app Java 开发实战指南

管理 管理 编辑 删除

前言

在电商生态、短视频带货、选品分析、订单回溯、商品监控等业务场景中,获取抖音商品详情数据是最核心、最基础的能力。item_get_app 是抖音开放平台 / 第三方数据服务中标准、稳定、高适配移动端的商品详情获取接口,专门用于获取抖音商城内商品的完整信息。

本文将以 Java 后端开发视角,完整讲解:


  • 接口用途与场景
  • 请求 / 响应结构
  • Java 代码实现(可直接复制运行)
  • 签名、请求头、参数封装
  • 常见异常与生产环境优化
  • 让你快速完成抖音商品详情接口对接。


一、接口介绍


1.1 接口名称

item_get_app —— 抖音 APP 端商品详情获取接口


1.2 接口作用

通过商品 ID(productId /itemId)获取抖音商品全量详情数据


  • 商品标题、副标题、类目
  • 主图、轮播图、详情图
  • 售价、原价、优惠券、佣金
  • SKU 规格(颜色、尺码、库存)
  • 商品卖点、服务、发货地、时效
  • 店铺信息、评分、销量

1.3 适用场景


  • 电商选品工具
  • 商品图片 / 标题 / 规格采集
  • 价格监控、库存监控
  • 订单系统商品回填
  • 商城小程序、APP 商品展示
  • 数据分析、达人带货选品


二、接口基础信息


  • 请求方式:POST / GET(推荐 POST)
  • 数据格式:JSON
  • 编码:UTF-8
  • 请求地址:由数据服务 / 开放平台提供(示例地址仅用于演示)
  • 身份认证key + secret 鉴权
  • 必填参数:商品 ID(num_iid /product_id)


三、请求参数说明


3.1 公共参数(必传)


参数名类型说明
keyString身份密钥
secretString签名密钥
methodString固定值:item_get_app

3.2 业务参数(必传)


参数名类型说明
num_iidString抖音商品 ID(从链接中解析)

3.3 可选参数



参数名说明
platform默认:douyin
get_sku是否获取 SKU,默认 true


四、响应结构(常用字段)


{
  "code": 200,
  "msg": "success",
  "data": {
    "num_iid": "123456789",
    "title": "商品标题",
    "price": "99.0",
    "original_price": "199.0",
    "images": ["https://..."],
    "desc_images": ["https://..."],
    "shop_name": "店铺名称",
    "sku_list": [
      {
        "sku_id": "123",
        "properties": "颜色:红色",
        "price": "99.0",
        "stock": 100
      }
    ]
  }
}





五、Java 实现代码(可直接运行)


5.1 依赖(Maven)


<dependencies>
    <!-- HTTP 请求 -->
    <dependency>
        <groupId>cn.hutool</groupId>
        <artifactId>hutool-http</artifactId>
        <version>5.8.20</version>
    </dependency>
    <!-- JSON 解析 -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson2</artifactId>
        <version>2.0.32</version>
    </dependency>
</dependencies>



5.2 工具类:DouYinItemApi.java


import cn.hutool.http.HttpRequest;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;

public class DouYinItemApi {

    // 接口地址(实际使用时替换为真实地址)
    private static final String API_URL = "https://api.example.com/item_get_app";
    private static final String KEY = "你的key";
    private static final String SECRET = "你的secret";

    /**
     * 获取抖音商品详情
     * @param numIid 商品ID
     * @return 详情JSON字符串
     */
    public static String getItemDetail(String numIid) {
        try {
            // 构建参数
            JSONObject params = new JSONObject();
            params.put("key", KEY);
            params.put("secret", SECRET);
            params.put("method", "item_get_app");
            params.put("num_iid", numIid);
            params.put("get_sku", true);

            // 发送 POST 请求
            String result = HttpRequest.post(API_URL)
                    .timeout(10000)
                    .body(params.toJSONString())
                    .execute()
                    .body();

            return result;

        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

    // 测试
    public static void main(String[] args) {
        String numIid = "抖音商品ID";
        String detail = getItemDetail(numIid);
        System.out.println(detail);
    }
}





六、实体类封装(便于业务使用)



import lombok.Data;
import java.util.List;

@Data
public class DouYinItemVO {
    private String numIid;       // 商品ID
    private String title;       // 标题
    private String price;       // 现价
    private String originalPrice;// 原价
    private List<String> images;// 主图
    private List<String> descImages;// 详情图
    private String shopName;    // 店铺名
    private List<Sku> skuList;  // 规格

    @Data
    public static class Sku {
        private String skuId;
        private String properties;
        private String price;
        private Integer stock;
    }
}



解析示例


// 解析返回结果
JSONObject resJson = JSON.parseObject(result);
if (resJson.getIntValue("code") == 200) {
    DouYinItemVO item = resJson.getObject("data", DouYinItemVO.class);
    System.out.println("商品标题:" + item.getTitle());
    System.out.println("价格:" + item.getPrice());
}





七、高频异常与解决方案


7.1 code = 401 未授权


  • key/secret 错误
  • 账号过期、IP 未授权

7.2 code = 400 参数错误


  • 缺少 num_iid
  • 商品 ID 格式错误

7.3 code = 404 商品不存在


  • 商品已删除 / 下架 / 屏蔽

7.4 超时


  • 加大超时时间:10s
  • 增加重试机制

7.5 无 SKU 返回


  • 商品无多规格
  • get_sku=false


八、生产环境高可用建议


  1. 超时设置:10s
  2. 重试机制:2 次,间隔 1s
  3. 降级缓存:热点商品缓存 5~15 分钟
  4. 并发控制:避免高频并发触发限流
  5. 日志脱敏:不打印 key/secret
  6. 异常监控:监控 401、429、500 错误


九、总结

item_get_app 是抖音生态中最稳定、最常用的商品详情接口,Java 接入非常简单:


  • 传入商品 ID
  • 携带 key/secret
  • 发送请求 → 解析数据
  • 即可快速实现:商品采集、价格监控、选品分析、订单回填、商城展示等功能。


如遇任何疑问或有进一步的需求,请随时与我私信或者评论联系。

{{voteData.voteSum}} 人已参与
支持
反对
请登录后查看

123c001fa85d 最后编辑于2026-05-14 18:18:23

快捷回复
回复
回复
回复({{post_count}}) {{!is_user ? '我的回复' :'全部回复'}}
排序 默认正序 回复倒序 点赞倒序

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level || item.bbs_level }}

作者 管理员 企业

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推荐': '推荐'}}
{{item.is_suggest == 1? '取消推荐': '推荐'}} 【已收集】
{{item.floor}}# 沙发 板凳 地板 {{item.floor}}# 【已收集】
{{item.user_info.title || '暂无简介'}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
打赏
已打赏¥{{item.reward_price}}
{{item.like_count}}
分享
{{item.showReply ? '取消回复' : '回复'}}
删除
回复
回复

{{itemc.user_info.nickname}}

{{itemc.user_name}}

回复 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}
打赏
已打赏¥{{itemc.reward_price}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回复' : '回复'}}
删除
回复
回复
收起 展开更多
查看更多
打赏
已打赏¥{{reward_price}}
34
{{like_count}}
{{collect_count}}
添加回复 ({{post_count}})

相关推荐

快速安全登录

使用微信扫码登录
回复
回复
问题:
问题自动获取的帖子内容,不准确时需要手动修改. [获取答案]
答案:
提交
bug 需求 取 消 确 定
打赏金额
当前余额:¥{{rewardUserInfo.reward_price}}
{{item.price}}元
请输入 0.1-{{reward_max_price}} 范围内的数值
打赏成功
¥{{price}}
完成 确认打赏

微信登录/注册

切换手机号登录

{{ bind_phone ? '绑定手机' : '手机登录'}}

{{codeText}}
切换微信登录/注册
暂不绑定
CRMEB客服
CRMEB咨询热线 400-8888-794

扫码领取产品资料

功能清单
思维导图
安装教程
CRMEB开源商城下载 源码下载 CRMEB帮助文档 帮助文档
返回顶部 返回顶部
CRMEB客服