TOP-SDK使用说明

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

自动化SDK使用指南

目录

一、新SDK的介绍 (1)

二、为什么要使用最新的SDK (1)

三、如何使用最新的SDK (2)

1、新SDK的目录结构 (2)

2、SDK命名规则 (3)

3、SDK使用代码示例(java版,php版,.net版) (3)

4、高级功能 (6)

四、下载SDK的地址 (6)

一、新SDK的介绍

淘宝开放平台最新的SDK是由程序通过API的结构、业务数据等自动化生成的代码包,目前支持主流的三种语言版本(java、php、.net)。是淘宝开放平台为了减少广大开发者使用API的开发成本而提供的一种开发工具包,其中包含了已经开放的API的请求、加密、返回解析等一些必要的功能。

二、为什么要使用最新的SDK

最新的自动化SDK区别之前的版本(前期为人工手写的代码),有着以

下多种优势:

1、SDK代码全自动化生成,完全和对外公开的API文档一致

2、自动化生成,避免人工编写产生的Bug

3、在每次API升级发布后,会及时自动升级各语言SDK版本,并向下保持

兼容

4、SDK提供了一些基本协议级的封装,提高API访问成功率

5、错误日志自动打印,错误发生时可完全收集现场数据

三、如何使用最新的SDK

1、新SDK的目录结构

JAVA SDK目录结构

.NET SDK目录结构

2、SDK命名规则

a)数据结构类名与API线上文档中完全一样

b)API请求类名:去掉api名字中的”taobao”,把”.”后的首字母大写,

再掉所有的”.”号,并加上”Request”,即为最终的类名。比如

er.get对应的请求类的类名为UserGetRequest。

c)API返回结果类名:去掉api名字中的”taobao”,把”.”后的首字母

大写,再掉所有的”.”号,并加上”Response”,即为最终的类名。比

如er.get对应的响应类的类名为UserGetResponse。

3、SDK使用代码示例(java版,php版,.net版)

JAVA版本

●不需要登录(sessionKey)的API调用

T aobaoClient client = new DefaultTaobaoClient(url, appkey, secret);

UserGetRequest req = new UserGetRequest();

req.setFields("nick,sex,buyer_credit,seller_credit ,created,last_visit");

req.setNick("hz0799");

UserGetResponse response = client.execute(req);

if (response.isSuccess()) {

System.out.println(response.getUser().getNick());

} else {

// deal error

}

●需要登录(sessionKey)的API调用

client.execute(req, sessionKey);

●有文件上传的API调用

FileItem img = new FileItem(file);// FileItem为SDK包里封装好的一个类

itemAddRequest.setImage(img);

PHP版本

⏹实例化API Client

//实例化TopClient类

$c = new TopClient;

$c->appkey = "你的appkey";

$c->secretKey = "你的secret code";

⏹不需要登录(sessionKey)的API调用

/**********************************

* OOP风格的使用方式,下面还有传统的数组方式

**********************************/

//实例化具体API对应的Request类

$req = new UserGetRequest;

$req->setFields("nick,sex,buyer_credit,seller_credit");

$req->setNick("hz0799");

//执行API请求并打印结果

$resp = $c->execute($req);

⏹需要登录(sessionKey)的API调用

//实例化具体API对应的Request类

$req = new UserGetRequest;

$req->setFields("nick,sex,buyer_credit,seller_credit, birthday");//这行和上面不

同,登录用户可以获取隐私字段

$req->setNick("hz0799");

//执行API请求并打印结果

$resp = $c->execute($req, $sessionKey);//这行和上面不同

⏹有文件上传的API调用

$req = new TaobaoItemImgUploadRequest;

$req->setNumIid(12345678);

$req->setImage('@C:\my_picture\item_1.jpg');//附件上传的机制参见PHP CURL

文档,在文件路径前加@符号即可

$resp = $c->execute($req);

print_r($resp);

⏹传统的数组方式调用(适合已有APP迁移到PHP SDK的客户)

/**********************************

* 非OOP风格的使用方式, 兼容已有的PHP应用

**********************************/

$req_array = array(

"method" => "taobao.items.search",

"fields" => "iid,title",

"q" => "ipad",

"page_size" => 3,

"location.city" => "杭州"

);

$resp = $c->exec($req_array);

print_r($resp);

.NET版本

⏹不需要登录(sessionKey)的API调用

ITopClient client = new DefaultTopClient("url", "appkey", "appsecret");

UserGetRequest req = new UserGetRequest();

req.Fields = "user_id,nick,created,buyer_credit,type,sex";

req.Nick = "helloworld";

UserGetResponse rsp = client.Execute(req);

if (rsp.IsError)

{

Console.WriteLine(rsp.Body);

}

⏹需要登录(sessionKey)的API调用

ITopClient client = new DefaultTopClient("url", "appkey", "appsecret");

TradeGetRequest req = new TradeGetRequest();

req.Fields = “tid,seller_nick,buyer_nick”;

req.Tid = 129318293L;

TradeGetResponse rsp = client.Execute(req, sessionKey);

⏹有文件上传的API调用

相关文档
最新文档