样本案例:
调用方法:taobao.users.get
提交参数:
http://gw.api.taobao.com/router/rest
app_key=10011201
fields=nick
format=xml
method=taobao.users.get
nicks=专营店
sign_method=md5
timestamp=2010-08-01 16:29:09
v=2.0
sign=16D29E5A7F4520E583B5F140553F1A44 写了如下delphi代码:
var
strXml:string; //返回的值
Params: TStrings; //post 使用的参数
begin
Params:=TStringList.Create;
params.add( ); // 这里应该怎么写??? strXml:=IdHTTP1.Post('http://gw.api.taobao.com/router/rest',Params);//访问的是淘宝正式环境 end; 请问post里的参数应该如何写,请高手帮忙。
调用方法:taobao.users.get
提交参数:
http://gw.api.taobao.com/router/rest
app_key=10011201
fields=nick
format=xml
method=taobao.users.get
nicks=专营店
sign_method=md5
timestamp=2010-08-01 16:29:09
v=2.0
sign=16D29E5A7F4520E583B5F140553F1A44 写了如下delphi代码:
var
strXml:string; //返回的值
Params: TStrings; //post 使用的参数
begin
Params:=TStringList.Create;
params.add( ); // 这里应该怎么写??? strXml:=IdHTTP1.Post('http://gw.api.taobao.com/router/rest',Params);//访问的是淘宝正式环境 end; 请问post里的参数应该如何写,请高手帮忙。
//这里要这样写:params.Values['app_key'] := '10011201';
params.Values['fields'] := 'nick';
... ...
对于淘宝商家,淘宝会给一个开发接入API文档,这个要仔细看。
所有的关键就是一个sign的得到,其他都很简单。
对于没有任何经验的人,进入先须掌握三项知识点:1、理解API的含义,可以通过一个模拟工具进行了解: http://open.taobao.com/api_tool/api_test.html
案例:API类目:店铺API
API :taobao.shop.get
数据环境:正式
nick : “某个淘宝店名”
这样可以返回一个你要查的店名,如果没有,就返回错。再多多试验其他API2、delphi一个控件IdHTTP的方法post,这个掌握的要点是如何组织参数。
例://本案例是有时效的,你自己去上面网址取参数
app_key=10011201
fields=sid,cid,nick,title,desc,bulletin,pic_path,create,modified
format=xml
method=taobao.shop.get
nick=万象书坊
sign_method=md5
timestamp=2010-08-03 10:30:00
v=2.0
sign=B2A1A30AC75242B3AED414791F704BB5//实现代码如下
procedure TfrmTaobaoTest.Button1Click(Sender: TObject);
var
strXml:string;//返回值
Params: TStrings;//post参数
begin
Params:=TStringList.Create; Params.Values['app_key']:=AnsitoUtf8('10011201');//所有参数必须经过Utf8转换
Params.Values['fields']:=AnsitoUtf8('sid,cid,nick,title,desc,bulletin,pic_path,create,modified');
Params.Values['format']:=AnsitoUtf8('xml');
Params.Values['method']:=AnsitoUtf8('taobao.shop.get');
Params.Values['nick']:=AnsitoUtf8(trim('万象书坊');
Params.Values['sign']:=AnsitoUtf8('B2A1A30AC75242B3AED414791F704BB5');
Params.Values['sign_method']:=AnsitoUtf8('md5');
Params.Values['timestamp']:=AnsitoUtf8('2010-08-03 10:30:00');
Params.Values['v']:=AnsitoUtf8('2.0'); strxml:=IdHTTP1.post('http://gw.api.taobao.com/router/rest',Params);//这个是正式环境下的网址
memo1.Text:=Utf8ToAnsi(strxml);//转换回Ansi,并通过memo1看返回值
end;3、前2项进展顺利的话,就要学一下sign=B2A1A30AC75242B3AED414791F704BB5这个东西的来路了
这个你和淘宝要一下开发文档,sign是他们自己构造的规则,一看就懂了。
其中的一个加密用的函数md5();网上到处都是。
params.add('app_key=10011201' );
params.add('fields=nick' );
params.add( 'method=taobao.users.get');
params.add( 'nicks=专营店');
params.add('sign_method=md5' );
params.add( 'timestamp=2010-08-01 16:29:09');
params.add(' v=2.0' );
params.add('sign=16D29E5A7F4520E583B5F140553F1A44' );
params.sort;
然后拼接secret,加密,转为utf-8
OK~~~