Java调用淘宝API demo源代码

简介: Java调用淘宝API demo源代码
/**  
 *   
 */  
package com.taobao.api.demo.onsale;   
import java.io.IOException;   
import java.net.URLEncoder;   
import javax.servlet.ServletException;   
import javax.servlet.http.HttpServlet;   
import javax.servlet.http.HttpServletRequest;   
import javax.servlet.http.HttpServletResponse;   
import org.apache.commons.logging.Log;   
import org.apache.commons.logging.LogFactory;   
import com.taobao.api.TaobaoApiException;   
import com.taobao.api.TaobaoJsonRestClient;   
import com.taobao.api.TaobaoRestClient;   
import com.taobao.api.model.ItemsGetResponse;   
import com.taobao.api.model.ItemsOnSaleGetRequest;   
/**  
 * @version 2008-10-29  
 * @author <a href="mailto:zixue@taobao.com">zixue</a>  
 *   
 */  
public class MainServlet extends HttpServlet {   
    private static final transient Log log = LogFactory   
            .getLog(MainServlet.class);   
    /**  
     *   
     */  
    private static final long serialVersionUID = 8839099738909766274L;   
    @Override  
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)   
            throws ServletException, IOException {   
        String appkey = req.getParameter("appkey");   
        String secret = req.getParameter("secret");   
        if (log.isDebugEnabled()) {   
            log.debug(appkey + ":" + secret);   
        }   
        if (appkey != null && secret != null) {   
            try {   
            //生成客户端实例   
                TaobaoRestClient client = new TaobaoJsonRestClient(appkey,secret);   
                //淘宝卖家的出售的商品列表   
                ItemsOnSaleGetRequest tbReq = new ItemsOnSaleGetRequest()   
                        .withFields("iid,title,price,list_time,num")   
                        .withPageNo(1)   
                        .withPageSize(20);   
                // use appkey as session_id   
                ItemsGetResponse tbRsp = client.itemsOnSaleGet(tbReq, appkey);//搜索单个商品信息的Request请求   
                if (log.isDebugEnabled()) {   
                    log.debug(tbRsp.getBody());   
                }   
                //如果接口调用成功   
                if (!tbRsp.isSuccess()) {   
                    if (tbRsp.isRedirect()) {   
                        req.setAttribute("url",   
                                         tbRsp.getRedirectUrl(URLEncoder   
                                                              .encode   
                                                              (req.getRequestURL()   
                                                                  .append('?')   
                                                                  .append("appkey=")   
                                                                  .append(appkey)   
                                                                  .append("&secret=")   
                                                                  .append(secret)   
                                                                  .toString(),"utf-8")   
                                                             )   
                                        );   
                    } else {   
                        req.setAttribute("msg", tbRsp.getMsg());   
                    }   
                } else {   
                    req.setAttribute("items", tbRsp.getItems());   
                }   
            } catch (TaobaoApiException e) {   
                throw new ServletException(e);   
            }   
        }   
        req.getRequestDispatcher("main.jsp").forward(req, resp);   
    }   
    @Override  
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)   
            throws ServletException, IOException {   
        doPost(req, resp);   
    }   
}
目录
相关文章
|
2月前
|
Java API 数据处理
Java新特性:使用Stream API重构你的数据处理
Java新特性:使用Stream API重构你的数据处理
|
2月前
|
Java 大数据 API
Java Stream API:现代集合处理与函数式编程
Java Stream API:现代集合处理与函数式编程
238 100
|
2月前
|
Java API 数据处理
Java Stream API:现代集合处理新方式
Java Stream API:现代集合处理新方式
267 101
|
2月前
|
并行计算 Java 大数据
Java Stream API:现代数据处理之道
Java Stream API:现代数据处理之道
241 101
|
2月前
|
安全 Java API
使用 Java 构建强大的 REST API 的四个基本技巧
本文结合探险领域案例,分享Java构建REST API的四大核心策略:统一资源命名、版本控制与自动化文档、安全防护及标准化异常处理,助力开发者打造易用、可维护、安全可靠的稳健API服务。
196 2
|
1月前
|
缓存 监控 前端开发
顺企网 API 开发实战:搜索 / 详情接口从 0 到 1 落地(附 Elasticsearch 优化 + 错误速查)
企业API开发常陷参数、缓存、错误处理三大坑?本指南拆解顺企网双接口全流程,涵盖搜索优化、签名验证、限流应对,附可复用代码与错误速查表,助你2小时高效搞定开发,提升响应速度与稳定性。
|
1月前
|
JSON 算法 API
Python采集淘宝商品评论API接口及JSON数据返回全程指南
Python采集淘宝商品评论API接口及JSON数据返回全程指南
|
2月前
|
数据可视化 测试技术 API
从接口性能到稳定性:这些API调试工具,让你的开发过程事半功倍
在软件开发中,接口调试与测试对接口性能、稳定性、准确性及团队协作至关重要。随着开发节奏加快,传统方式已难满足需求,专业API工具成为首选。本文介绍了Apifox、Postman、YApi、SoapUI、JMeter、Swagger等主流工具,对比其功能与适用场景,并推荐Apifox作为集成度高、支持中文、可视化强的一体化解决方案,助力提升API开发与测试效率。
|
1月前
|
JSON API 数据安全/隐私保护
Python采集淘宝拍立淘按图搜索API接口及JSON数据返回全流程指南
通过以上流程,可实现淘宝拍立淘按图搜索的完整调用链路,并获取结构化的JSON商品数据,支撑电商比价、智能推荐等业务场景。
|
2月前
|
JSON 前端开发 API
如何调用体育数据足篮接口API
本文介绍如何调用体育数据API:首先选择可靠服务商并注册获取密钥,接着阅读文档了解基础URL、端点、参数及请求头,然后使用Python等语言发送请求、解析JSON数据,最后将数据应用于Web、App或分析场景,同时注意密钥安全、速率限制与错误处理。
409 152