分享

淘宝api的简单应用

 quasiceo 2014-06-06

淘宝api的简单应用

现在随着saas技术的不断发展,与之相配套的开发测试平台也层出不穷,ali软件作为中国开展saas的先驱,其top开发平台便是其典型的代表。

现在TOP开发平台还处于发完善时期,其开发的api接口以及相应的文档资料还不是很全,就目前来说,整个资料有点乱,没有一个很好的开发指南。在最近一个星期的时间中,自己查看了很多淘宝api的开发资料,虽然没有进行实际环境下的运行,但是在测试环境下还是取得了成功,对top平台的整个开发流程有了比较好的了解,现将自己的所学经验展示出来,希望对更多开发淘宝API的开发者有所帮助。

自己开发的例子是其他web应用。

在淘宝的api中,大体分为两种类型:一种是需要sessionKey的,一种是不需要sessionKey的。不需要sessionKey的api,用法比较简单,只需要将自己的所需api以及相关的参数写在请求地址中,top平台的采用的是rest请求方式,相比于soap方式,其更加的简洁快速。在测试环境下,需要将请求发送到http://gw.api./router/rest,后面跟上你所需要查询的参数值,以下就是一个简单的不需要ssessionKey的api请求参数:

http://gw.api./router/rest?app_key=12013615&cid=1512&fields=iid,title,nick,pic_url,price,click_url&format=xml&method=taobao.taobaoke.items.get&pid=mm_5410_0_0&sign=58DBB13C68A271079F1BB44C8885C66C&timestamp=2009-11-09 14:49:33&v=1.0

在以上的连接中,用到了app_key值,其他具体的参数可以查看相应的api文档,只是sign需要进行数字签名,需要调用相应的函数。该请求返回的是xml格式的内容,所以需要对xml进行相应的解析。

对于需要sessionKey的api,则比较麻烦。首先sessionKey的值获取不是很容易,现将测试环境下,开发WEB其它应用的sessionKey值的获取方式说明一下,第一步需要获取授权码,访问http://open.taobao.com/isv/authorize.php?appkey={appkey}

选择测试环境账号并填写回调URL,对于这个回调地址,自己之前不甚了解,遇到了一些问题,但是还是解决了,我自己新建了一个jsp文件,里面含有一个request.getParameter("top_session")方法,所以我将回调地址写为该jsp地址。然后点击“获取授权码”,即可获得授权码,接下来通过授权码获取SessionKey。访问http://container.api./container?authcode={授权码},页面会跳转到回调URL

这时调用解析结果的方法,得到sessionKey的值。得到了sessionKey的值之后,你就可以组装参数,将请求发送到http://gw.api./router/rest,放回的结果是你设定的放回格式,调用相应的函数进行解析即可。

我是在top的javademo基础上进行开发的,本来认为没有什么错误,结果在开发中还是遇到了一些问题,

1.      返回的是error,提示是session无效。找了很长时间的原因,结果发现,提交的地址不对,修改地址后正确的返回了结果。

2.      sessionKey的获取。Demo中没有说明回调地址的作用,一开始我用的是http://localhost,但结果总是出错,在了解了错误之后,发现其写的解析函数无法进行解析,所以自己根据解析函数的要求,在回调页面中加入了&top_session=<%=request.getParameter("top_session") %>&,这样成功的获取了sessionKey的值。

以上自己在测试api时遇到的困难,希望对大家有所帮助。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多