`
阅读更多

注:无法上传截图,提示system.net.webexception错误,所以本篇的效果图无法展示,请谅解,待下次再试上传

 

淘宝API开发(二)淘宝API接口功能测试

上篇介绍了淘宝开放的API接口,根据功能说明,我们对几个接口进行测试,其他的接口,可以照猫画虎。点击任意接口,在功能描述页面,调用级别apiType,apitype分别有三个值:

 

 

 

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->apiType=1,调用时需要ISV签名和认证

apiType
=2,调用时需要ISV签名和认证,同时需要用户授权确认

apiType
=3,调用时需要ISV签名和认证,可选用户授权确认(授权后可获取相关用户隐私信息)

我们分别找

taobao.items.get taobao.items.onsale.get 接口进行测试,一个不用授权,一个用授权,具体授权的意思就是,掌柜没给你授权,你就不能访问或修改其淘宝店的内容。

打开vs2008,新建网站,如下

图略,原因在开头说明了

 

简单说下,taobaiApi.cs,主要是各个接口的方法,如:

/// <summary>

       /// 获取某会员商品列表达式

       /// </summary>

       /// <param name="q"></param>

       /// <param name="fields"></param>

       /// <param name="page_no"></param>

       /// <param name="page_size"></param>

       /// <param name="nicks"></param>

       /// <returns></returns>

        public XmlDocument taobao_items_get(string q, string fields, int page_no, int page_size, string nicks)

        {

    

            Util.ParamsBuild pb = new Util.ParamsBuild(SessionID, "taobao.items.get");

 

            pb.AddParam("fields", fields);//"iid,delist_time"

            pb.AddParam("v", VERSION);

            if (q != string.Empty) 

                     pb.AddParam("q", q);

            if(page_no != 0)

             pb.AddParam("page_no", page_no);

            if(page_size != 0)

                 pb.AddParam("page_size", page_size);

            // / 

           pb.AddParam("nicks", nicks);

            //if(order_by != "")

            //    pb.AddParam("order_by", order_by);

            string data = pb.GetURL();

 

            return Util.HttpRequest(data);

        }

 

API接口中,着重说下sip_sign 这个参数,这个参数是API接口传递参数的Md5加密,传递的参数是按字母顺序升序排列,也就是说要从a-z的顺序排列后,通过MD5加密得到的。

所有参数保存到由Util.ParamsBuild类实例中具体的看下代码吧

1不用授权接口taobao.items.get接口, 此接口方法用以搜索商品信息

以淘宝掌柜鑫名品为例,查看其宝贝列表,我无意冒犯掌柜鑫名品, 鑫名品请谅解.

运行后效果如图:

图略,原因在开头说明了

 

主要代码

 1/**//// <summary>
 2
 3    /// 获取产品列表
 4
 5    ///// </summary>
 6
 7    private void GetProList()
 8
 9    {
10
11        //掌柜鑫名品,查看其宝贝列表,我无意冒犯掌柜鑫名品
12
13        绑定到GridView1#region 绑定到GridView1
14
15        CreatTable();
16
17        myapi = new taobaoApi();
18
19        XmlDocument mydoc = myapi.taobao_items_get("", "iid,title,nick,type,cid,pic_path,delist_time,price,post_fee", 0, 0, "鑫名品");
20
21        XmlNodeList mylist = mydoc.SelectNodes("rsp/item");
22
23        int num = int.Parse(mydoc.SelectSingleNode("/rsp/totalResults").InnerText);
24
25        try
26
27        {
28
29            AddXmlNodesToTable(mylist);
30
31 
32
33            //this.Label1.Text = "共有 " + num.ToString() + " 商品";
34
35            this.GridView1.DataSource = dt;
36
37            this.GridView1.DataBind();
38
39        }
40
41        catch (Exception err)
42
43        {
44
45            string test = err.Message;
46
47        }
48
49        #endregion
50
51 
52
53        返回string值,主要是根据string内容,生成xmlnodelist#region 返回string值,主要是根据string内容,生成xmlnodelist
54
55 
56
57        //myapi = new taobaoApi();
58
59        //string mydoc = myapi.taobao_items_get2("", "iid,title,nick,type,cid,pic_path,delist_time,price,post_fee", 0, 0, "鑫名品");
60
61        //divMeg.InnerText = mydoc;
62
63        #endregion
64
65 
66
67 
68
69}

 

 

这个接口我写了两个实现方法,一个返回XmlDocument,一个返回string,接口方法返回string型的,主要是让大家看看接口里的源数据格式,可以根据格式运行xml操作,如, XmlNodeList mylist = mydoc.SelectNodes("rsp/item");

2.需要授权的接口测试:taobao.items.onsale.get, 此接口方法以实现得到当前会话用户(必须为卖家)的出售中商品列表

运行后,返回如下代码

<?xml version="1.0" encoding="utf-8" ?><error_rsp><code>1004</code><msg>needBinduser</msg><url>http://sip.alisoft.com/sip/login?sip_apiname=taobao.items.onsale.get&amp;sip_appkey=21824&amp;sip_sessionid=dcd2dae7-7f13-4af8-9346-c26d9e28a667&amp;sip_apptype=1&amp;sip_applevel=level1</url></error_rsp>

 

 

http://isp.alisoft.com/apidoc/api/apiIndex.html#isp_taobao-5-29查到

 

 

1004

needBinduser

需要绑定用户

原因:在调用此api时,isp要求用户验证并绑定(登录)。在请求中没有带sip_usertoken参数,无法进行绑定

 

需要绑定用户,说白了呢,就是要登录下淘宝,进行一下授权,当然,我不知道鑫名品密码,就是自己的淘宝帐号演示了,隐掉divMeg.InnerText = content; 恢复Response.Redirect(url.InnerText + "&sip_redirecturl=" + sip_redirecturl);

再次运行,如下 (图略,原因在开头说明了)

 

 

输入淘定帐号与密码后,如下:(图略,原因在开头说明了)

 

点击确认后,出现 (图略,原因在开头说明了)

 

代码下载

参考

http://www.cnblogs.com/edobnet/archive/2009/02/05/1384526.html

 

值得看的贴子:

API指南】如何上传和修改商品http://forum.alisoft.com/viewthread.php?tid=2711&extra=page%3D2

 

用户绑定的参数

http://forum.alisoft.com/read.php?tid=19220&page=e&#a

 

更新商品的java demo

http://forum.alisoft.com/read.php?tid=4940

 

taobao.item.updatetaobao.item.addimage参数的思考

http://forum.alisoft.com/read.php?tid=11316

 

求助:发个添加商品图片的DEMO,谢谢!

http://forum.alisoft.com/read.php?tid=25766

分享到:
| 103
评论

相关推荐

    南瑞IEC104修改过_iec104_南瑞_104_104规约_

    《深入解析南瑞104规约:基于IEC104协议的通信实现》 在电力自动化领域,IEC104规约是广泛应用的一种通信协议,它为电力系统设备间的远程通信提供了标准化的数据交换格式。南瑞,作为国内电力自动化行业的领军企业...

    IEC104master.rar_104_IEC_IEC104Master_iec 104 _iec104 c++源码

    《深入理解IEC 104协议:基于C++的实现》 IEC 104,全称为“International Electrotechnical Commission 60870-5-104”,是电力自动化领域广泛采用的一种通信协议,主要用于远程终端单元(RTU)、智能电子设备(IED...

    104规约报文解析(实例(适用初学者)).rar_104_104 示例报文_104协议_104规约报文_协议分析

    《104规约报文解析:初学者指南》 104协议,全称IEC 60870-5-104,是电力自动化领域广泛应用的一种通信协议,主要用于电力系统的SCADA(Supervisory Control And Data Acquisition)系统,实现远程终端单元(RTU)...

    Qtester104 IEC104调试工具

    《Qtester104:深入理解IEC104调试工具》 在电力通信领域,IEC60870-5-104协议扮演着至关重要的角色,它是国际电工委员会(IEC)制定的一种标准,用于电力系统自动化设备之间的数据交换。Qtester104就是针对这一协议...

    ProIEC104Client1-5版_iec101104_104_ProIEC104_

    《ProIEC104Client1-5版:电力远动测试与101/104协议详解》 在电力系统自动化领域,通信协议扮演着至关重要的角色,其中IEC 101和IEC 104是两种广泛采用的标准。本文将围绕"ProIEC104Client1-5版"这一测试软件,...

    IEC104Master IEC104NASlave.zip

    IEC104Master IEC104NASlave.zip AppWizard has created this IEC104NAMaster DLL for you. This file contains a summary of what you will find in each of the files that make up your IEC104NAMaster ...

    IEC104规约模拟器

    **IEC 104规约模拟器**是电力系统通信领域中的一种重要工具,主要用于模拟和测试基于IEC 60870-5-104标准的数据传输。这个标准,通常简称为IEC 104,是国际电工委员会制定的一种通讯协议,专门用于电力自动化系统中...

    许继104规约_许继104协议文档_

    许继104规约,全称为IEC 60870-5-104,是电力系统自动化领域广泛应用的一种通信协议。这个规约是基于TCP/IP网络的,目的是实现电力系统的远动设备(RTU)与主站之间的数据交换。许继104协议文档通常包含了关于如何...

    IEC 104 主站模拟工具、IEC 104 客户端工具

    IEC 104协议是国际电工委员会制定的一种通信协议,主要用于电力系统自动化设备之间的数据交换,如变电站与调度中心、智能电表与主站等。本话题将围绕"IEC 104 主站模拟工具"和"IEC 104 客户端工具"展开,介绍其开发...

    IEC104 Analyzer是IEC104协议的调试软件工具工程源代码

    **IEC104协议详解** IEC104,全称是International Electrotechnical Commission 60870-5-104,是一种国际标准通信协议,主要用于电力系统自动化中的数据交换。该协议定义了设备间的通信规程,包括报文结构、数据...

    ProIEC104Client亲测可用。仿真104主站,支持手动、自动输入报文。链接稳定

    《ProIEC104Client:一款可靠的104主站仿真工具》 在电力自动化领域,IEC 60870-5-104标准(简称104协议)是广泛应用的一种通信协议,主要用于电力系统变电站自动化设备之间的数据交换。本文将详细介绍ProIEC104...

    Kepserver-104主站配置对接流程

    Kepware公司的Kepserver是一款强大的OPC服务器软件,支持多种协议,包括104协议(也称为Modbus TCP)。本文将详细阐述如何配置Kepserver-104主站与104从站的对接流程。 首先,我们来看104从站的配置。104协议是一种...

    IEC104模拟器,亲测可用

    IEC104模拟器是一种专门用于测试和模拟IEC60870-5-104协议的工具,该协议是国际电工委员会(IEC)制定的一种用于电力系统自动化设备之间通信的标准。这个“IEC104模拟器,亲测可用”可能包含了两个不同的测试组件,...

    ZCU104 开发板原理图

    ZCU104 开发板原理图 ZCU104 开发板原理图是 Xilinx 官方提供的一份详细的设计文件,旨在帮助开发者快速了解 ZCU104 开发板的设计理念和实现方法。该文件包含了 ZCU104 开发板的详细设计信息,包括原理图、组件清单...

    IEC104模拟器(master & slave)

    IEC104模拟器是针对电力自动化领域通信标准IEC 60870-5-104的一种仿真工具,它可以帮助开发者和工程师在VS2015环境下进行测试和调试工作。IEC104协议是国际电工委员会(IEC)制定的用于电力系统SCADA(Supervisory ...

    AllProPro-模拟主站104调试必备

    《全面解析:模拟主站104调试技术与实践》 在工业自动化领域,通信协议是设备间数据交换的关键。104协议,全称IEC 60870-5-104,是一种广泛应用的电力系统远动通信协议,尤其在SCADA(Supervisory Control and Data...

    DL634.5104-2002(60870-5-104)_104_104规约_101104协议_60870_

    《DL634.5104-2002(60870-5-104)- 104规约与101104协议详解》 在电力自动化领域,通信规约是实现远程终端单元(RTU)与主站系统之间数据交换的关键技术。DL634.5104-2002是根据国际电工委员会(IEC)60870-5-104...

    电网104规约协议调测工具、104协议调测工具、电网104规约调测工具、104长链接调测工具

    电网104规约,全称为“IEC60870-5-104”,是电力系统中广泛使用的通信规约,主要用于自动化设备之间的数据交换,如SCADA(Supervisory Control and Data Acquisition)系统。这个规约是国际电工委员会(IEC)制定的...

    IEC60870-5-104_IEC60870-5-104_电力104规约_

    电力104规约,全称为IEC60870-5-104,是国际电工委员会(IEC)制定的一种通信规约,主要用于电力系统自动化设备间的远动通信。这一规约是电力行业广泛应用的标准,尤其在调度中心与变电站之间的数据交换中起到关键...

Global site tag (gtag.js) - Google Analytics