很简单,新建一个工程,拖一个IDHttp,Button和Memo到窗体上去 然后在这个Button的OnClick事件中写入如下代码:[delphi] view plaincopyprocedureTfrmMain.btnCallTopAPIClick(Sender: TObject); var AHttpRequestURL:String; AHttpReponseContent:TMemoryStream; begin AHttpReponseContent:=TMemoryStream.Create; try IdHTTP1.ReadTimeout:=0; IdHTTP1.AllowCookies:=True; IdHTTP1.ProxyParams.BasicAuthentication:=False; IdHTTP1.ProxyParams.ProxyPort:=0; IdHTTP1.Request.ContentLength:=-1; IdHTTP1.Request.ContentRangeEnd:=0; IdHTTP1.Request.ContentRangeStart:=0; IdHTTP1.Request.ContentType:=‘application/x-www-form-urlencoded’; IdHTTP1.Request.Accept:=‘text/html, /’; IdHTTP1.Request.BasicAuthentication:=False; IdHTTP1.Request.UserAgent:=‘Mozilla/3.0 (compatible; Indy Library)’; IdHTTP1.HTTPOptions:=[hoForceEncodeParams]; AHttpRequestURL:=‘http://gw.api.tbsandbox.com/router/rest?’ +‘sign=5029C3055D51555112B60B33000122D5’ +‘×tamp=2011-07-01+13%3A52%3A03’ +’&v=2.0’ +’&app_key=test’ +’&method=taobao.user.get’ +’&partner_id=top-apitools’ +’&format=json’ +’&nick=%E5%95%86%E5%AE%B6%E6%B5%8B%E8%AF%95%E5%B8%90%E5%8F%B717’ +’&fields=nick,location.state,location.city’; IdHTTP1.Get(AHttpRequestURL,AHttpReponseContent); AHttpReponseContent.Position:=0; Self.Memo1.Lines.LoadFromStream(AHttpReponseContent); finally AHttpReponseContent.Free; end; end; 然后保存,按F9运行,点击按钮之后的结果如下:如上图所示,Memo中的字符串就是调用淘宝接口所返回的结果字符串:{“error_response”:{“code”:25,“msg”:“Invalidsignature”}我来解释下这一段Json格式的字符串的意思:error_response表示调用淘宝API出错了"code":25表示出错代码是25"msg":"Invalidsignature"表示出错的消息是无效的签名好了,这个Demo就算结束了,调用淘宝API的过程就是先准备好HTTP请求的URL,然后向服务器发送请求,获取服务器返回的结果。基本上各类开放平台现成的SDK都是没有Delphi语言的。所以,一般遇到开放平台的接口开发,难免会有些心慌哈。不过,只要仔细看官方的API文档(这是重点哈),以及参考其他语言的SDK源代码,仔细的研究,花费些许心思与精力。这里只是大致讲一下淘宝接口的开发步骤,适合刚接触淘宝接口开发的新人,因为刚开始学习新的东西总会有些茫然,无从下手。先提一下淘宝开放平台的首页地址:http://open.taobao.com/index.htm首页(图):淘宝开放平台的官方文档中心地址:http://open.taobao.com/doc/index.htm?spm=0.0.0.5.oluaZ6你在文档中心可以找到你所需要的。
应用的名称:DelphiTaoBaoAPI应用的标签:在线订购应用址:http://open.taobao.com/doc/detail.htm?id=101125应用的标签指定了应用的功能类型以及所具有的权限有以下几种类型(图):我在这里介绍一下各个应用标签的功能介绍:

1.在线订购应用:为卖家提供店铺后台管理/营销工具,在线订购应用实现卖家管理需求,解决店铺管理/营销遇到的各种问题,包括批量处理工具、绩效管理类、店铺营销等。

2.店铺模块应用:嵌入到卖家店铺前台的模块,店铺模块应用主要用于提升买家购物体验。

3.阿里旺旺插件:基于旺旺卖家版的拓展工具,阿里旺旺插件能有效帮助卖家提升效率,便于管理和操作订单,会员,营销等。

4.服务商后台系统:为大型卖家提供大型店铺后台管理系统,如CRM,ERP等;或者您作为托管服务商,希望自主研发产品给自己店铺及托管店铺使用

5.质检品控应用:作为第三方质检机构/公司在线提供质检报告审核、商品质检、验厂等品控服务

6.站内买家应用:在应用中心,为淘宝站内买家提供生活类服务、导购工具和游戏等

7.无线买家应用:为无线端买家提供商品导购服务

8.网站接入:为淘宝站外买家提供商品导购服务,包括淘客网站、B2C外店、海外代购等网站类应用

9.商家后台系统:具有开发能力的商家,希望自主开发工具/软件/系统,用于自身店铺经营所用

10.不具备开发能力的商家:不具备开发能力,希望使用第三方软件创建一个新应用的官方文档地址:http://open.taobao.com/doc/detail.htm?id=66

好了,接下来,我们开始创建应用了

  1. 打开淘宝开放平台的首页地址:http://open.taobao.com/index.htm,点击加入开放平台,或者点击开发者中心。

2.使用淘宝账户登录,淘宝账户需要通过实名认证

  1. 填写基本信息

  2. 提交后成为开放平台的开发者

5.在个人的淘宝网开放平台首页地址:http://my.open.taobao.com/isv/index.htm中点击创建新应用按钮

6.填写应用名称,选择应用标签

7.查看应用的appkey和appsecret,填写应用详情

8.点击保存,可以进行安全扫描,扫描完成后没有高危漏洞才能申请上线

9.查看应用列表

10.应用管理界面说明

二、调用淘宝接口(TopAPI)淘宝API支持的调用方法有两种,分别是:1.Http调用方式2.Https免签名调用方式

其实这两种方法的区别就在于验证方式,第一种方法使用类似于OAUTH 1.0的验证第二种使用OAUTH 2.0的验证在这里我讲的是Http调用方式Http调用方式的官方文档地址:http://open.taobao.com/doc/detail.htm?spm=0.0.0.30.vH5kTk&id=111我在这里再讲一下淘宝的应用运行环境介绍TOP提供给ISV(独立软件开发商)三种测试环境:沙箱环境,正式环境,

线上环境1.沙箱环境沙箱环境是淘宝开放平台(TOP)提供给独立软件开发商(ISV)的测试环境。数据完全独立,大部分API已经部署到该环境中供ISV进行API的功能测试,对与APP的调用量无限制,但获取大批量数据时,超时率会较线上环境更高。沙箱环境调用接口提交地址:http://gw.api.tbsandbox.com/router/rest沙箱容器地址:http://container.api.tbsandbox.com/container2.正式测试环境淘宝正式测试环境是淘宝开放平台(TOP)提供给独立软件开发商(ISV)的线上试运行环境。正式测试环境下的数据均是线上的真实淘宝数据。ISV可以在正式测试环境下测试TOP接口的功能,但受到接口调用次数及权限的限制,即一个应用的调用频率为5000次/天,并且根据应用标签不同,能调用的接口也不同,但是所有API文档中标识为开放的V均可以调用。容器地址:http://container.open.taobao.com/container调用接口提交地址:http://gw.api.taobao.com/router/rest3. 线上环境淘宝线上环境是ISV开发完成之后正式上线或上架运行使用的环境。线上环境下接口调用的数据是真实的淘宝数据,根据应用标签不同,每个应用将受到接口调用次数及流量的限制。容器地址:http://container.open.taobao.com/container调用接口提交地址:http://gw.api.taobao.com/router/rest好了,接下来我讲调用API中最关键的一步了,就是准备好所要调用API的请求URL我以在沙箱环境中调用taobao.user.get接口来举例taobao.user.get这个接口的作用是得到用户的信息,这个API的官方文档的地址是:http://api.taobao.com/apidoc/api.htm?spm=0.0.0.184.NKWt50#categoryId:1-apiId:1要调用这个接口,需要的系统级别输入参数有:系统级别输入参数是调用每个API都需要的参数method:API接口名称。session:TOP分配给用户的SessionKey,需要通过用户登陆授权获取。(有些接口不需要这个参数,比如taobao.user.get这个接口,如果调用接口的时候没有加入这个参数,那么返回用户的基本的公开信息,如果加入了这个参数,那么返回用户的所有信息,包括隐私的信息)timestamp:时间戳,格式为YYYY-MM-dd HH:MM:SS,例如:2020-05-22 10:23:30。淘宝API服务端允许客户端请求时间误差为10分钟。format:可选,指定响应格式。默认xml(表示不传入format参数的时候,接口调用默认返回xml格式的字符串),目前支持格式为xml,json。app_key:TOP分配给应用的AppKey。v:API协议版本,可选值:2.0。sign:API输入参数签名结果sign_method:参数的加密方法选择,可选值是:md5,hmac。下面这两个参数是taobao.user.get这个接口的应用级输入参数(每个API的应用级输入参数不同):fields:需返回的字段列表。可选值:User结构体中的所有字段;以半角逗号(,)分隔。需要用户授权才能获取用户对应的uid和user_id。User结构体的文档地址:http://api.taobao.com/apidoc/api.htm?spm=0.0.0.184.NKWt50#categoryId:1-apiId:1nick:可选,用户昵称。以上的这些参数除了sign,其他都是直接可以得到的所以,需要着重讲一下如何得到这个sign参数sign参数值的算法为:根据参数名称将你的所有请求参数按照字母先后顺序排序:key + value … key + value对除签名和图片外的所有请求参数按key做的升序排列, value无需编码。例如:将foo=1,bar=2,baz=3 排序为bar=2,baz=3,foo=1参数名和参数值链接后,得到拼装字符串bar2baz3foo1淘宝支持MD5和HMAC两种加密方式md5:将secretcode(secretcode为应用的AppSecret)同时拼接到参数字符串头、尾部进行md5加密后,再转化成大写,格式是:byte2hex(md5(secretkey1value1key2value2…secret))。hmac:采用hmac的md5方式,secretcode(secretcode为应用的AppSecret)只在头部的签名后再转化成大写,格式 是:byte2hex (hmac(key1value1key2value2…,secret))。例如:输入参数为: method=taobao.user.get timestamp=2011-07-0113:52:03 format=json app_key=test v=2.0 fields=nick,location.state,location.city nick=商家测试帐号17 sign_method=md5按照参数名称升序排列: app_key=test fields=nick,location.state,location.city format=xml method=taobao.user.get nick=商家测试帐号17 sign_method=md5 timestamp=2011-07-0113:52:03 v=2.0拼装字符串:连接参数名与参数值,并在首尾加上secretcode(secretcode为应用的AppSecret)(这里假设appsecret=test)值:testapp_keytestfieldsnick,location.state,location.cityformatxmlmethodtaobao.user.getnick商家测试帐号17sign_methodmd5timestamp2011-07-0113:52:03v2.0test生成签名:32位大写MD5值->5029C3055D51555112B60B33000122D5拼装URL: 将所有参数值转换为UTF-8编码,然后拼装,通过浏览器访问该地址,即成功调用一次接口http://gw.api.tbsandbox.com/router/rest?sign=5029C3055D51555112B60B33000122D5×tamp=2011-07-01+13%3A52%3A03&v=2.0&app_key=test&method=taobao.user.get&partner_id=top-apitools&format=xml&nick=%E5%95%86%E5%AE%B6%E6%B5%8B%E8%AF%95%E5%B8%90%E5%8F%B717&fields=nick,location.state,location.city注意事项:1.所有的请求和响应数据编码皆为utf-8格式,url里的所有参数值请做urlencode编码。如果请求的Content-Type是 application/x-www-form-urlencoded, http body里的所有参数值也做urlencode编码;如果是multipart/form-data格式,每个表单字段的参数值无需编码,但每个表单字段 的charset部分需要指定为utf-82.商品等公开信息查询类API建议用get请求,交易等隐私信息查询和修改类API建议用post请求 三、使用接口Delphi版本淘宝接口我已经放在Google上了,下载地址:http://code.google.com/p/delphiopenapi/downloads/list用到的第三方控件有Json的superobject,Zip的VCLUnZip和Http通信的Indy控件。1.要使用淘宝接口,需要准备淘宝应用的AppKey,AppSecret,以及回调URL示例如下:2.获取用户授权用户使用你的应用,需要对应用进行授权,你的应用才能操作用户的淘宝数据,像获取交易列表,商品列表,上下架商品,评价交易等大部分淘宝的接口使用时需要用户授权先将网页定位到淘宝网针对本应用的授权地址,需要用户输入用户名和密码然后淘宝网列出了当前应用的权限,操作范围,像读取用户信息,读取三个月内的交易记录3.接口使用说明调用我控件中尚未实现的淘宝接口,我写了一个通用的方法,为TTaoBaoManager.APIClient(TTaoBaoAPIClient类)的CustomExecuteAPI方法[delphi] view plaincopy//自定义调用API function CustomExecuteAPI(const AAPIMethod:String; const AParamNames:array of String; const AParamValues:array of Variant; const AFormat:TCallAPIFormat; const ANeedSessionParam:Boolean; const AHttpRequestMethod:TCallAPIHttpRequestMethod; var AHttpResponse:String ):Boolean; 参数AAPIMethod为接口名称:如taobao.user.get参数AParamNames为参数名列表:如fields参数AParamValues为参数值列表:如nick,location.state,location.city参数AFormat为响应格式:若为Json时,返回字符串为Json格式的,若为Xml时,返回字符串为Xml格式参数ANeedSessionParam为是否需要授权:如taobao.user.get这个接口,获取用户的所有信息时,需要用户授权参数AHttpRequestMethod为Http的Get方法参数AHttpResponse为接口返回的字符串执行之后,大家可以自己解析返回的字符串来获取所需要的数据。
以上是从行业内了解到的一些情况,有兴趣的可交流留言。请查看http://console.open.onebound.cn/console/?i=Turbo

演示淘宝API调用接口相关推荐

  1. 淘宝api Python 接口升级 3.0 版本 主要解决图片上传问题

    因为自学 python  工作中会经常用到淘宝Api调用数据    一直以来后台下载的淘宝Api 都是2.7版本 还是12年 lihao同学编写,一直没有升级 用Python 自带的2to3脚本工具升 ...

  2. python爬虫实例电商_如何用代码爬抓电商数据(附淘宝API调用实例)

    原标题:如何用代码爬抓电商数据(附淘宝API调用实例) 欢迎关注天善智能 hellobi.com,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习.问答.求职,一站式搞定! 对商业智能B ...

  3. 如何用代码爬抓电商数据(附淘宝API调用实例)

    2019独角兽企业重金招聘Python工程师标准>>> 如何用代码爬抓电商数据(附淘宝API调用实例) http://www.21ds.cn/2190.html 转载于:https: ...

  4. 淘宝/天猫上传图片到淘宝 API 调用说明 请求示例

    upload_img-上传图片到淘宝 图片有3种 上传方式 1.GET参数imgcode直接传url(适用于已经存在的网络上的图片) 2.POST参数imgcode上传本地图片base64编码后的内容 ...

  5. 淘宝API调用说明 监控商品上下架 批量获得淘宝商品上下架时间

    接口名称:item_list_updown 开发进度:已完成 请求方式:GET 是否可测:是 Content-Type:JSON (application/json) 更新时间:2023-03-5 2 ...

  6. 淘宝API调用 申请 获取session key

    在调用淘宝的API时,我们都会用到appkey,appsecret,appsession. 1.我们申请应用就会有appkey和appsecret了 2.正式环境下获取SessionKey 注意:we ...

  7. 淘宝API详情接口调用示例

    以下是行业内了解到的一些情况,本帖只展示部分代码,需要更多API调试请移步注册API账号登录 - 跨境电商平台接口提供商 数据采集公司 数据接口定制服务 企业级数据服务商 {     "it ...

  8. 淘宝API开发系列:淘宝图片搜索API / item_search_img-按图搜索淘宝商品(拍立淘)/图片搜索API调用值说明

    为了进行淘宝的API开发,首先我们需要做下面几件事情. 1)开发者注册一个账号 2)然后为每个淘宝应用注册一个应用程序键(App Key) . 3)下载淘宝API的SDK并掌握基本的API基础知识和调 ...

  9. 淘宝API接口:item_search_seller -搜索店铺列表

    今天分享的是搜索店铺列表: 淘宝的API开发接口,我们需要做下面几件事情. 1)开放平台注册开发者账号: 2)然后为每个淘宝应用注册一个应用程序键(App Key) : 3)下载淘宝API的SDK并掌 ...

最新文章

  1. VTK:外部轮廓用法实战
  2. IPC介绍——10个ipcs例子
  3. Java 中访问数据库的步骤?Statement 和PreparedStatement 之间的区别?
  4. Arrays.asList()返回的ArrayList,这是Arrays里内嵌的一个私有静态类,而并不是java.util.ArrayList类
  5. 光端机图像出现噪点或者数据有时不通的情况
  6. ANTLR笔记2 - 简单语法说明
  7. PMP考试只刷题能否通过呢?
  8. ArcGIS之多个GDB批量导出shp至特定文件夹20201228
  9. Chrome 录屏神器!自称“最强大”的屏幕录制和注释工具!
  10. Coding 配置SSH凭据
  11. 曹晋睿 受邀担任第七届少儿模特明星盛典亲善大使
  12. ORACLE OCP 考试指南
  13. 换头像这个功能怎么测
  14. DGA:域名生成算法
  15. html怎么设计为中文字体,css中怎么设置字体?
  16. 大数据基础:JavaSE
  17. 树莓派 摄像头 python_Python实现树莓派摄像头持续录像并传送到主机
  18. 声发射传感器的安装方法及注意事项
  19. 4-发音规则(吞音)
  20. android开发 RecyclerView 列表布局

热门文章

  1. 运维之道 | Mysql主从复制+mycat读写分离
  2. Matlab 最小二乘法 拟合平面
  3. uni-app 人脸识别分析及实现(前端) + nvue开发源码
  4. 微信小程序拼团(后台java)开发-第一节-产品设计-发起拼团原型和业务简介
  5. 3分钟写个VBA:Excel工作簿所有子表数据一键汇总
  6. 下列有关python语言的说法正确的是-python期末考试试题汇总
  7. AI Studio 项目
  8. [css]中间文字两边分割线的方法
  9. 取消Irp引起蓝屏(BugCheck:0x18)
  10. Nightingale + categraf监控方案