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月前
|
前端开发 Cloud Native Java
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
|
2月前
|
缓存 安全 Java
《从头开始学java,一天一个知识点》之:字符串处理:String类的核心API
🌱 **《字符串处理:String类的核心API》一分钟速通!** 本文快速介绍Java中String类的3个高频API:`substring`、`indexOf`和`split`,并通过代码示例展示其用法。重点提示:`substring`的结束索引不包含该位置,`split`支持正则表达式。进一步探讨了String不可变性的高效设计原理及企业级编码规范,如避免使用`new String()`、拼接时使用`StringBuilder`等。最后通过互动解密游戏帮助读者巩固知识。 (上一篇:《多维数组与常见操作》 | 下一篇预告:《输入与输出:Scanner与System类》)
83 11
|
3月前
|
数据采集 JSON Java
Java爬虫获取微店快递费用item_fee API接口数据实现
本文介绍如何使用Java开发爬虫程序,通过微店API接口获取商品快递费用(item_fee)数据。主要内容包括:微店API接口的使用方法、Java爬虫技术背景、需求分析和技术选型。具体实现步骤为:发送HTTP请求获取数据、解析JSON格式的响应并提取快递费用信息,最后将结果存储到本地文件中。文中还提供了完整的代码示例,并提醒开发者注意授权令牌、接口频率限制及数据合法性等问题。
|
3月前
|
数据采集 存储 Java
Java爬虫获取微店店铺所有商品API接口设计与实现
本文介绍如何使用Java设计并实现一个爬虫程序,以获取微店店铺的所有商品信息。通过HttpClient发送HTTP请求,Jsoup解析HTML页面,提取商品名称、价格、图片链接等数据,并将其存储到本地文件或数据库中。文中详细描述了爬虫的设计思路、代码实现及注意事项,包括反爬虫机制、数据合法性和性能优化。此方法可帮助商家了解竞争对手,为消费者提供更全面的商品比较。
|
3月前
|
数据采集 算法 Java
如何在Java爬虫中设置动态延迟以避免API限制
如何在Java爬虫中设置动态延迟以避免API限制
|
Java API
Java 8 Stream API详解
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/47038607 Java ...
1062 0
|
1月前
|
JSON 数据挖掘 API
1688API最新指南:商品详情接口接入与应用
本指南介绍1688商品详情接口的接入与应用,该接口可获取商品标题、价格、规格、库存等详细信息,适用于电商平台开发、数据分析等场景。接口通过商品唯一标识查询,支持HTTP GET/POST请求,返回JSON格式数据,助力开发者高效利用1688海量商品资源。
|
1月前
|
JSON 数据挖掘 API
京东API接口最新指南:店铺所有商品接口的接入与使用
本文介绍京东店铺商品数据接口的应用与功能。通过该接口,商家可自动化获取店铺内所有商品的详细信息,包括基本信息、销售数据及库存状态等,为营销策略制定提供数据支持。此接口采用HTTP请求(GET/POST),需携带店铺ID和授权令牌等参数,返回JSON格式数据,便于解析处理。这对于电商运营、数据分析及竞品研究具有重要价值。
|
2月前
|
存储 供应链 监控
1688商品数据实战:API搜索接口开发与供应链分析应用
本文详细介绍了如何通过1688开放API实现商品数据的获取与应用,涵盖接入准备、签名流程、数据解析存储及商业化场景。开发者可完成智能选品、价格监控和供应商评级等功能,同时提供代码示例与问题解决方案,确保法律合规与数据安全。适合企业开发者快速构建供应链管理系统。
|
1月前
|
JSON API 开发者
京东API最新指南:商品视频接口接入与应用
在电商领域,商品视频能有效提升销售业绩。京东商品视频接口助力开发者获取商品视频信息(播放链接、时长、格式、封面图等),通过 HTTP GET/POST 请求返回 JSON 数据,便于集成到各类应用中,优化展示效果与用户体验。本指南详解接口接入与使用方法。