淘宝商品详情API系列的核心接口详细说明

简介: 淘宝商品详情API系列的核心接口为taobao.item.get,该接口用于获取淘宝或天猫商品的详细信息,包括商品标题、价格、库存、描述、图片等关键字段。以下是该接口的详细说明:

淘宝商品详情API系列的核心接口为taobao.item.get,该接口用于获取淘宝或天猫商品的详细信息,包括商品标题、价格、库存、描述、图片等关键字段。以下是该接口的详细说明:

一、接口基本信息

  • 接口名称taobao.item.get
  • 请求地址o0b.cn/anzexi
  • 请求方式:GET或POST
  • 返回格式:JSON

二、请求参数

  • app_key:应用的App Key,用于身份验证。
  • method:接口名称,固定为taobao.item.get
  • format:返回格式,固定为json
  • v:API协议版本,固定为2.0
  • timestamp:当前时间戳,用于防止请求重放。
  • sign_method:签名算法,可选md5hmac
  • sign:签名,用于验证请求的合法性。
  • num_iid:商品ID,必填字段,用于指定要获取详情的商品。
  • fields:需要返回的字段列表,多个字段用逗号分隔。例如,fields=num_iid,title,price,pic_url表示返回商品ID、标题、价格和主图URL。

三、响应参数

响应数据通常包含以下字段(具体字段可能因接口版本或商品类型而有所不同):

  • num_iid:商品ID。
  • title:商品标题。
  • price:商品价格。
  • orginal_price:原价(如有)。
  • pic_url:商品主图URL,可能有多个图片链接。
  • desc:商品描述(可能包含HTML格式的内容)。
  • props:商品属性列表,如颜色、尺码、材质等。
  • skus:商品SKU信息,包括价格、库存、属性等。

四、调用示例(以Java为例)

java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.URL;
import java.nio.charset.Charset;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.PrintWriter;
import java.net.URLConnection;
import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class TaobaoItemGetExample {
    // 生成签名
    private static String generateSign(Map<String, String> params, String appSecret) throws NoSuchAlgorithmException {
        Map<String, String> sortedParams = new TreeMap<>(params);
        StringBuilder sb = new StringBuilder(appSecret);
        for (Map.Entry<String, String> entry : sortedParams.entrySet()) {
            sb.append(entry.getKey()).append(entry.getValue());
        }
        sb.append(appSecret);
        MessageDigest md = MessageDigest.getInstance("MD5");
        byte[] bytes = md.digest(sb.toString().getBytes());
        StringBuilder hexString = new StringBuilder();
        for (byte b : bytes) {
            String hex = Integer.toHexString(0xff & b);
            if (hex.length() == 1) {
                hexString.append('0');
            }
            hexString.append(hex);
        }
        return hexString.toString().toUpperCase();
    }
    // 发送GET请求
    private static JSONObject getRequestFromUrl(String url) throws IOException, JSONException {
        URL realUrl = new URL(url);
        URLConnection conn = realUrl.openConnection();
        InputStream instream = conn.getInputStream();
        try {
            BufferedReader rd = new BufferedReader(new InputStreamReader(instream, Charset.forName("UTF-8")));
            String jsonText = readAll(rd);
            JSONObject json = new JSONObject(jsonText);
            return json;
        } finally {
            instream.close();
        }
    }
    // 读取输入流
    private static String readAll(Reader rd) throws IOException {
        StringBuilder sb = new StringBuilder();
        int cp;
        while ((cp = rd.read()) != -1) {
            sb.append((char) cp);
        }
        return sb.toString();
    }
    public static void main(String[] args) {
        String appKey = "YOUR_APP_KEY";
        String appSecret = "YOUR_APP_SECRET";
        String numIid = "652874751412"; // 商品ID
        String fields = "num_iid,title,price,pic_url"; // 需要返回的字段
        Map<String, String> params = new HashMap<>();
        params.put("method", "taobao.item.get");
        params.put("app_key", appKey);
        params.put("format", "json");
        params.put("v", "2.0");
        params.put("timestamp", String.valueOf(System.currentTimeMillis() / 1000));
        params.put("sign_method", "md5");
        params.put("num_iid", numIid);
        params.put("fields", fields);
        try {
            String sign = generateSign(params, appSecret);
            params.put("sign", sign);
            StringBuilder urlBuilder = new StringBuilder("https://gw.api.taobao.com/router/rest?");
            for (Map.Entry<String, String> entry : params.entrySet()) {
                urlBuilder.append(entry.getKey()).append("=").append(entry.getValue()).append("&");
            }
            urlBuilder.deleteCharAt(urlBuilder.length() - 1); // 移除最后一个&
            JSONObject json = getRequestFromUrl(urlBuilder.toString());
            System.out.println(json.toString(2)); // 格式化输出JSON
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

五、注意事项

  • 身份验证:调用API前需在淘宝开放平台注册开发者账号,创建应用并获取App Key和App Secret。
  • 签名生成:签名是验证请求合法性的重要步骤,需按照淘宝开放平台的规则生成。
  • 频率限制:淘宝API有调用频率限制,需合理控制请求频率,避免被封禁。
  • 错误处理:需实现完善的错误处理机制,根据API返回的错误码进行相应处理。


相关文章
|
2天前
|
云安全 人工智能 算法
以“AI对抗AI”,阿里云验证码进入2.0时代
三层立体防护,用大模型打赢人机攻防战
1292 1
|
9天前
|
编解码 人工智能 自然语言处理
⚽阿里云百炼通义万相 2.6 视频生成玩法手册
通义万相Wan 2.6是全球首个支持角色扮演的AI视频生成模型,可基于参考视频形象与音色生成多角色合拍、多镜头叙事的15秒长视频,实现声画同步、智能分镜,适用于影视创作、营销展示等场景。
698 4
|
2天前
|
机器学习/深度学习 安全 API
MAI-UI 开源:通用 GUI 智能体基座登顶 SOTA!
MAI-UI是通义实验室推出的全尺寸GUI智能体基座模型,原生集成用户交互、MCP工具调用与端云协同能力。支持跨App操作、模糊语义理解与主动提问澄清,通过大规模在线强化学习实现复杂任务自动化,在出行、办公等高频场景中表现卓越,已登顶ScreenSpot-Pro、MobileWorld等多项SOTA评测。
542 2
|
3天前
|
人工智能 Rust 运维
这个神器让你白嫖ClaudeOpus 4.5,Gemini 3!还能接Claude Code等任意平台
加我进AI讨论学习群,公众号右下角“联系方式”文末有老金的 开源知识库地址·全免费
|
2天前
|
存储 弹性计算 安全
阿里云服务器4核8G收费标准和活动价格参考:u2a实例898.20元起,计算型c9a3459.05元起
现在租用阿里云服务器4核8G价格是多少?具体价格及配置详情如下:云服务器ECS通用算力型u2a实例,配备4核8G配置、1M带宽及40G ESSD云盘(作为系统盘),其活动价格为898.20元/1年起;此外,ECS计算型c9a实例4核8G配置搭配20G ESSD云盘,活动价格为3459.05元/1年起。在阿里云的当前活动中,4核8G云服务器提供了多种实例规格供用户选择,不同实例规格及带宽的组合将带来不同的优惠价格。本文为大家解析阿里云服务器4核8G配置的实例规格收费标准与最新活动价格情况,以供参考。
233 150
|
9天前
|
机器学习/深度学习 人工智能 前端开发
构建AI智能体:七十、小树成林,聚沙成塔:随机森林与大模型的协同进化
随机森林是一种基于决策树的集成学习算法,通过构建多棵决策树并结合它们的预测结果来提高准确性和稳定性。其核心思想包括两个随机性:Bootstrap采样(每棵树使用不同的训练子集)和特征随机选择(每棵树分裂时只考虑部分特征)。这种方法能有效处理大规模高维数据,避免过拟合,并评估特征重要性。随机森林的超参数如树的数量、最大深度等可通过网格搜索优化。该算法兼具强大预测能力和工程化优势,是机器学习中的常用基础模型。
355 164