`
zzc1684
  • 浏览: 1224287 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

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);   
        }   
      
    }

 

分享到:
评论

相关推荐

    java8 demo源代码

    在这个“java8 demo源代码”压缩包中,我们可以期待看到一系列演示了Java 8新特性的示例代码。以下是这些示例可能涵盖的一些关键知识点: 1. **lambda表达式**:Java 8引入了函数式编程的概念,其中lambda表达式是...

    java调用kettle提供的API实现数据抽取DEMO

    Java调用Kettle API实现数据抽取DEMO是一个典型的ETL(提取、转换、加载)过程,其中Kettle(又称Pentaho Data Integration或KDI)是一个强大的数据集成工具,允许开发者通过图形化界面或者编程方式处理数据迁移和...

    Java源代码小Demo

    在Java编程世界里,"Java源代码小Demo"是一份宝贵的学习资源,它包含了多个精心设计的小型示例项目,旨在帮助初学者快速理解和掌握Java编程的基础知识。这些示例通常涵盖了一些基本概念、语法结构以及常用API的使用...

    Java调用Google Analytics API实现网站统计demo

    在IT行业中,Google Analytics是一个强大的数据...通过Java调用Google Analytics API,可以灵活地获取和分析网站数据,为业务决策提供有力支持。这个Demo是一个起点,你可以在此基础上扩展功能,满足更复杂的数据需求。

    java中使用点阵字库demo源代码

    本项目名为"java中使用点阵字库demo源代码",主要展示了如何在Java环境中生成和使用自定义的点阵字库。下面将详细介绍相关知识点: 1. **Java图形处理**:Java提供了Java AWT(Abstract Window Toolkit)和Swing库...

    Oauth2_淘宝授权JAVA前后端源代码demo

    在这个“Oauth2_淘宝授权JAVA前后端源代码demo”项目中,我们将深入探讨如何在Java环境中实现OAuth2与淘宝API的集成。 首先,OAuth2的核心流程包括四个主要角色:资源所有者(User)、资源服务器(Taobao API ...

    JAVA短信验证源码DEMO

    在DEMO中,`MessageSendClient.java`和`MessageSender.java`可能封装了对这些API的调用,包括设置短信内容、目标电话号码,以及处理身份验证等细节。 6. **异常处理**:在网络通信中,必须考虑网络故障、超时、数据...

    JAVA调用Webservice接口Demo

    本示例,"JAVA调用Webservice接口Demo",将向我们展示如何利用Java来与Webservice进行交互,主要包含两个功能:IP查询和根据省份查找城市。这个项目可以直接运行,方便开发者快速理解并应用到实际项目中。 首先,...

    JFreeChart Demo源代码

    "JFreeChart Demo源代码"是这个库的示例程序集合,提供了各种图表类型的实现和展示,对于学习和理解如何在实际项目中使用JFreeChart非常有帮助。 在源代码中,你可以找到以下关键知识点: 1. **图表类型**:...

    java 飞行棋 源代码demo

    Java飞行棋源代码Demo是一个基于Java编程语言实现的桌面游戏项目,它允许用户在计算机上体验经典的飞行棋游戏。这个Demo展示了如何运用Java的技术来构建一个具有交互性和趣味性的游戏应用。下面我们将深入探讨Java...

    标签打印机JAVA串口打印源代码

    本主题聚焦于"标签打印机JAVA串口打印源代码",这是一段能够帮助开发者利用JAVA语言与串口连接的标签打印机进行交互的代码。 首先,我们需要了解什么是串口通信。串口,也称为串行端口,是一种简单但功能强大的通信...

    pos机java调用程序demo(基于dll调用)

    在本文中,我们将深入探讨如何使用Java调用DLL库,特别是在银联POS机接口的集成应用上。这个项目是基于JDK1.8开发的,它利用了Maven作为项目管理工具,使得开发者能够更方便地引用和管理DLL库。对于那些在IT行业,...

    重力传感器demo源代码

    本资源提供了关于重力传感器的Demo源代码,旨在帮助开发者更好地理解和运用重力传感器API。 首先,重力传感器通常会返回一个三元组(x, y, z)表示设备在三个轴上的加速度,单位通常是m/s²。在Android系统中,这些...

    java ceb转pdf demo

    1. **CEB2PDF.java**:这是主要的Java源代码文件,包含了转换逻辑。它应该包含调用外部库或API的代码,将CEB文件解析并转化为PDF。可能的方法包括通过JNI(Java Native Interface)调用本地库,或者利用像JNA(Java ...

    JfreeChart 1.0.10 demo 源代码

    通过研究这个1.0.10版本的JFreeChart demo源代码,开发者不仅可以学习到如何使用这个库,还可以了解到如何优化图表的性能,以及如何在不同场景下选择合适的图表类型。这对于任何需要在Java应用中生成图表的开发者来...

    java SIP 测试demo 可运行,有源代码

    Java SIP(Session Initiation Protocol)测试DEMO是一个用于实现VoIP(Voice over Internet Protocol)通信的应用程序示例,它展示了如何在Java环境中使用SIP协议进行实时通信,如语音通话和视频聊天。这个DEMO是可...

    支付宝服务窗源代码java demo

    支付宝服务窗源代码Java Demo是基于支付宝开放平台的API实现的一个示例项目,它展示了如何在Java环境中与支付宝服务窗进行交互,以便企业、组织和个人能够构建自己的服务应用。在这个Demo中,开发者可以学习到如何...

    Java斑马打印机zebraZPL完整Demo

    在提供的压缩包“斑马打印机zpl指令打印”中,可能包含了演示如何使用Java实现上述功能的源代码、ZPL示例脚本以及可能的测试用例。通过阅读和分析这些文件,开发者可以学习到如何在实际项目中集成斑马打印机的ZPL...

    jxl.rar源代码,示例,文档,Demo,使用java生成Excel

    总结,jxl库是Java开发中处理Excel文件的得力助手,其源代码、示例、文档和Demo为开发者提供了全面的学习资源。无论你是初学者还是经验丰富的开发者,jxl都能帮助你轻松应对Excel相关的编程任务。通过深入学习和实践...

    java文件上传demo

    Java中处理文件上传主要依赖于Servlet API和第三方库,如Apache Commons FileUpload或者Spring框架的MultipartFile接口。在这个demo中,我们可能看到如何使用这些工具来处理文件上传的过程。 首先,我们需要创建一...

Global site tag (gtag.js) - Google Analytics