淘宝商品详情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返回的错误码进行相应处理。


相关文章
|
3月前
|
JSON 算法 API
Python采集淘宝商品评论API接口及JSON数据返回全程指南
Python采集淘宝商品评论API接口及JSON数据返回全程指南
|
3月前
|
JSON API 数据安全/隐私保护
Python采集淘宝拍立淘按图搜索API接口及JSON数据返回全流程指南
通过以上流程,可实现淘宝拍立淘按图搜索的完整调用链路,并获取结构化的JSON商品数据,支撑电商比价、智能推荐等业务场景。
|
4月前
|
JSON API 数据格式
干货满满!淘宝商品详情数据,淘宝API(json数据返回)
淘宝商品详情 API 接口(如 taobao.item.get)的 JSON 数据返回示例如下
|
6月前
|
JSON API 数据格式
Python采集京东商品评论API接口示例,json数据返回
下面是一个使用Python采集京东商品评论的完整示例,包括API请求、JSON数据解析
|
3月前
|
存储 数据采集 监控
基于淘宝商品详情 API 的数据分析应用:如何构建商品价格波动与库存监控系统?
构建基于淘宝商品详情API的商品价格波动与库存监控系统,需围绕数据采集、存储、分析、告警、可视化五大核心模块展开。以下是分步骤的详细方案,结合技术实现与业务逻辑,确保系统高效、稳定、可扩展。
|
2月前
|
JSON 供应链 API
1688商品详情 API 接口系列(JSON 数据返回参考)
提供的核心 B2B 电商数据接口集合,聚焦 1688 平台商品全维度信息的标准化获取,支持 JSON 格式统一返回
|
4月前
|
JSON API 数据安全/隐私保护
Python采集淘宝评论API接口及JSON数据返回全流程指南
Python采集淘宝评论API接口及JSON数据返回全流程指南
|
4月前
|
人工智能 供应链 API
淘宝API商品详情接口全解析:从基础数据到深度挖掘
淘宝API商品详情接口不仅提供基础数据,更通过深度挖掘实现从数据到洞察的跨越。开发者需结合业务场景选择合适分析方法,利用AI标签、区块链溯源等新技术,最终实现数据驱动的电商业务创新。
|
4月前
|
机器学习/深度学习 JSON API
干货,淘宝拍立淘按图搜索,淘宝API(json数据返回)
淘宝拍立淘按图搜索API接口基于深度学习与计算机视觉技术,通过解析用户上传的商品图片,在淘宝商品库中实现毫秒级相似商品匹配,并以JSON格式返回商品标题、图片链接、价格、销量、相似度评分等详细信息。
|
5月前
|
JSON API 数据格式
小红书笔记详情API,json数据返回
以下是一个模拟的小红书笔记详情的JSON数据返回示例,包含了笔记的基本信息、作者信息、内容、图片、标签以及互动数据(点赞、评论、收藏)等关键字段: