淘宝平台开发 delphi 示例

淘宝开放平台的开发例子大多都是c#,php,java等,缺少Pascal的例子。

现用delphi写了一个示例,

关键点是签名的生成,签名需按key字母顺序排序,并去掉等于号后首尾相连。

关键代码:

 

 memstr:= TMemoryStream.Create;

 //用授权码获取 session
  IdHTTP1.Get('http://container.api.tbsandbox.com/container?authcode='+memo1.Text,memstr);
  setlength(ss,memstr.Size);
  memstr.Position:= 0;
  memstr.Read(ss[1],memstr.Size);
   ss:= Utf8ToAnsi(ss);

  //切分session top_session=282730527fc47c5e27838f5dd8aeb098afefd&top_sign=LiTSTYs/DQHpRAGA4OPEZA==
  ss:= copy(ss,pos('top_session=',ss)+12,255);
  ss:= copy(ss,1,pos('&',ss)-1);
  memo1.Lines.Add(ss);
  //制作签名,下列代码有冗余的单引号,主要是为了显示逻辑关系。
  ss2:=secrect_key+'app_key'+app_Key +
       'fields'+'tid,seller_nick,buyer_nick,status,orders.title,orders.price,orders.num'+
        'format'+ 'xml'+
       'method'+'taobao.trades.sold.get'+
        'session'+ss+
        'sign_method'+'md5'+
        'timestamp'+datetimetostr(now)+
       'v'+ '2.0'+ secrect_key;
    
  ss2:= UpperCase(StrMD5(ss2));    //生成签名md5

 

   //合成参数

      ss3:= 'app_key='+app_Key +
       '&fields='+'tid,seller_nick,buyer_nick,status,orders.title,orders.price,orders.num'+
        '&format='+ 'xml'+
       '&method='+'taobao.trades.sold.get'+
        '&session='+ss+
        '&sign_method='+'md5'+
        '&timestamp='+ URLEncode(datetimetostr(now),true)+
       '&v='+ '2.0'+
        '&sign='+ ss2;

 

   //取得数据
    memstr.Clear;
    IdHTTP1.Get('http://gw.api.tbsandbox.com/router/rest?'+ss3,memstr);
    setlength(ss,memstr.Size);
  memstr.Position:= 0;
  memstr.Read(ss[1],memstr.Size);
   ss:= Utf8ToAnsi(ss);
   memo1.Lines.Add(ss);
 memstr.Free;

 

完整例子下载:

http://e.ys168.com/?ufo2003

 

本例子在沙盒环境下测试通过。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值