http://gw.api.taobao.com/router/rest?sign=BEA78C932E27FCF9C619D59ED750DD6D&timestamp=2012-01-08+20%3A35%3A31&v=2.0&app_key=12474215&method=taobao.trade.get&partner_id=top-apitools&session=6100a07c58b3a9417edda865f5f5a0b456c63366cbd4bb9616121015&format=xml&tid=116617264266333&fields=buyer_message如上链接 打开可以得到一个buyer_message的值dajia,但这个地址用asp语言如何构造呢,我生成的签名和BEA78C932E27FCF9C619D59ED750DD6D不一样,希望给出asp代码,谢谢

解决方案 »

  1.   

    <%
    fields=request.form("fields")
    nick=request.form("nick") + ""
    keyword=request.form("keyword") + ""
    v="1.0"
    appkey=request.form("appkey")
    appsecret=request.form("appsecret")
    topurl=request.form("topurl")
    timestamp=getDate(date,"yyyy-mm-dd")&" "&getTime(time,"hh:mm:ss")
    timestamp2=server.URLEncode(timestamp)
    method=request.form("method")
    format=request.form("format")sign=appsecret&"app_key"&appkey&"fields"&fields&"format"&format&"keyword"&keyword&"method"&method&"nick"&nick&"timestamp"&timestamp&"v"&vtop_sign=md5(sign)
      

  2.   

    谢谢楼上朋友的回复,但似乎不是根据我的代码来的 我希望大家能帮我构造出我发的链接,特别是md5加密的方法,我知道的方法就是将要提交的参数和指连在一起(降序),然后首尾加上appsecret进行md5加密,对吧,我发的链接是淘宝的在线工具生成的,我模仿了一个,但出来的sign的值不对现在我想搞清楚的是 这个链接到底需要哪些参数来参与排序和加密,另外就是哪个时间的编码格式如何处理,在加密时是用timestamp2012-01-08+20%3A35%3A31格式 还是timestamp2012-01-08 20:35:31
      

  3.   

    参数和具体格式请看api里的系统级别输入参数说明
    系统级别输入参数
    名称  类型  是否必须  描述
    method  String  是  API接口名称
    session  String  否  TOP分配给用户的SessionKey,自用型应用不需要传入该参数的;非自用型的应用对于需要用户授权的API必须要传入该参数,对于不需要用户授权的API则不必传入该参数。
    timestamp  String  是  时间戳,格式为yyyy-MM-dd HH:mm:ss,例如:2008-01-25 20:23:30。淘宝API服务端允许客户端请求时间误差为10分钟。
    format  String  否  可选,指定响应格式。默认xml,目前支持格式为xml,json
    app_key  String  是  TOP分配给应用的AppKey
    v  String  是  API协议版本,可选值:2.0。
    sign  String  是  API输入参数签名结果
    sign_method  String  是  参数的加密方法选择,可选值是:md5,hmac。这个参数只存在于2.0中。
      

  4.   

    sign_method 这个参数是必填,但是我的链接里没有这个参数啊,但是我发的链接是可以正常运行的啊
      

  5.   

    sign_method就是你sign加密的方法
      

  6.   

    或者这样说吧,我现在的问题就是得到的签名不对 正确的应该是
    BEA78C932E27FCF9C619D59ED750DD6D如果能把BEA78C932E27FCF9C619D59ED750DD6D解谜出来,看看是用的哪些字符加密而来的就好了,就是说想又哪些参数和值 按什么顺序排列的 谁给出的正确 分就全是他的,如果是复制别人的代码就不要了,如果能告诉我正确的方法也可以
      

  7.   

    或者这样说吧,我现在的问题就是得到的签名不对 正确的应该是
    BEA78C932E27FCF9C619D59ED750DD6D如果能把BEA78C932E27FCF9C619D59ED750DD6D解谜出来,看看是用的哪些字符加密而来的就好了,就是说想又哪些参数和值 按什么顺序排列的 谁给出的正确 分就全是他的,如果是复制别人的代码就不要了,如果能告诉我正确的方法也可以
      

  8.   

    sign=appsecret&"app_key"&appkey&"fields"&fields&"format"&format&"keyword"&keyword&"method"&method&"nick"&nick&"timestamp"&timestamp&"v"&vtop_sign=md5(sign)签名是根据一系列参数加密算出来的,你的时间戳都不一样,结果怎么可能一样呢
      

  9.   

    我知道时间不一样 那你就根据我发的链接里的时间来算啊 ,你给的代码里有nick 而我链接是没有的 我不明白 我是否应该加入nick,我的链接里是有session的,但是你给的代码却没有
      

  10.   

    timestamp String 是 时间戳,格式为yyyy-MM-dd HH:mm:ss,例如:2008-01-25 20:23:30。淘宝API服务端允许客户端请求时间误差为10分钟。
    timestamp String 是 时间戳,格式为yyyy-MM-dd HH:mm:ss,例如:2008-01-25 20:23:30。淘宝API服务端允许客户端请求时间误差为10分钟。至于nick,session要看具体的接口方法你还是去仔细看看文档吧,官方已经讲得很清楚了http://open.taobao.com/doc/api_list.htm?id=102
      

  11.   

    taobao.trade.get这里不是写了什么接口吗,因为淘宝的文档看不明白才来问啊
      

  12.   


    其实也想知道怎样才能拼装出正确的顺序,官网的看了也没有用,因为用官网例子的加密出来是一样的,说明加密方法跟拼装参数顺序没错,但是用API工具正式环境生成的,再按照官网说明的方法拼装出来再加密出来的却不一样,真是不知道哪里出问题。