开发筹备
须要开明淘宝联盟并取得相干的Api接口权限
淘宝联盟开放平台:https://open.alimama.com/
具体的申请步骤本人另外学习和理解,这里次要是解说如何调用Api接口的,申请的步骤也挺麻烦挺多货色搞的。
申请胜利后的样子大略就是这样:
开发文档
咱们要熟读开发文档,这是开发流程
https://open.taobao.com/doc.h…
调用步骤
1、拼接申请参数
2、签名
3、拼接申请链接
4、发动申请
调用参数阐明
1、申请参数
依据淘宝开放平台的Api文档可知,申请的链接是http://gw.api.taobao.com/router/rest
即所有的参数都POST到这个链接或者应用GET办法进行申请即可。
公共参数:
- method(Api名称)
- app_key(开放平台的Key)
- session(session)
- timestamp (工夫戳,2020-09-11 12:00:59)
- format(数据返回格局,json或者xml)
- v(版本号,可传2.0)
- sign_method(签名办法,md5)
淘口令生成Api:taobao.tbk.tpwd.create(淘宝客-专用-淘口令生成)
淘口令申请必传参数:
- text(口令弹窗内容)
- url(口令跳转链接)
按ASCII程序排序拼接参数名与参数值
app_key12345678fieldsnum_iid,title,nick,price,numformatjsonmethodtaobao.item.seller.getnum_iid11223344sessiontestsign_methodmd5timestamp2016-01-01 12:00:00v2.0
生成签名
假如app的secret为helloworld,则签名后果为:hex(md5(helloworld+按程序拼接好的参数名与参数值+helloworld)) = “66987CB115214E59E6EC978214934FB8”
构建HTTP申请URL
将所有参数名和参数值采纳utf-8进行URL编码(参数程序可随便,但必须要包含签名参数),而后通过GET或POST(含byte[]类型参数)发动申请。
例如:
http://gw.api.taobao.com/router/rest?method=taobao.item.seller.get&app_key=12345678&session=test×tamp=2016-01-01+12%3A00%3A00&format=json&v=2.0&sign_method=md5&fields=num_iid%2Ctitle%2Cnick%2Cprice%2Cnum&num_iid=11223344&sign=66987CB115214E59E6EC978214934FB8
上面是我的代码
<?php // 返回json格局 header("Content-type:application/json"); // app_key $app_key = "填写你的"; // app_secret $app_secret = "填写你的"; // 对uland.taobao.com链接进行解码 $urlDecode = urlDecode("https://uland.taobao.com/coupon/edetail?e=4bI0NgAcLX8E%2BdAb1JoOOjtaDeTCo3PUqDDkvb3q3IBUm%2Fg8xRLmNgq491a%2BRSPK6by1%2B2z8nqxZytX83D81bq06j9rExVodDfqEFBOhTcwqFY%2FHJzT7l7NbGDWR2SFGkgK4shmq4jnYQoT%2F5J6mnX4Pl%2BZxRCyGmKoWioKw4rz9zkxwTC9%2B9S3%2FM4lAwO%2BXrOugqOzy%2BV3F8WVlIJ68AEy5otPERvyn9J6TdzmyvhpDLsaEUNwvh%2BzlpZNJjeBYonv6QcvcARY%3D&traceId=0b51143615997926947266642e2629&ptl=floorId%3A33513&traffic_flag=lm&scm=20140618.1.01010001.s101c6&spm=a21wq.9116673.discovery.pageNum0_13&union_lens=lensId%3AAPP%401599792686%406374db9b-01b0-4a25-8ee3-578a291a99b7_622814146947%40043KSdARX36Py4uHGGwUBqcR&un=e06ed28165474e368a195baaa22d8f6a&share_crt_v=1&ut_sk=1.utdid_null_1599792694866.TaoPassword-Outside.lianmeng-app&sp_tk=THJ0MmNlQmpTRWI=&cpp=1&shareurl=true&short_name=h.VCXko6T&bxsign=scd1599792716655599149b5cbf77ff9f0fac572a35a695b"); // 对uland.taobao.com链接进行编码 $urlEncode = urlEncode($urlDecode); // 拼接签名所需的字符串 $signStr = "app_key".$app_key."formatjsonmethodtaobao.tbk.tpwd.createsession6100a066e9c87a1e921e6d476485b4d2176aee87340bf85724156739sign_methodmd5textlikeyuntimestamp2020-09-11 23:59:59url".$urlDecode."v2.0"; // md5签名算法须要前后拼接app_secret $signText = $app_secret.$signStr.$app_secret; // 签名,返回的是大写的32位16进制字符串 $sign = strtoupper(MD5($signText)); // 拼接申请链接 $GetUrl = "http://gw.api.taobao.com/router/rest?method=taobao.tbk.tpwd.create&app_key=".$app_key."&session=6100a066e9c87a1e921e6d476485b4d2176aee87340bf85724156739×tamp=2020-09-11+23%3a59%3a59&format=json&v=2.0&sign_method=md5&text=likeyun&url=".$urlEncode."&sign=".$sign; // 发动Get申请 echo file_get_contents($GetUrl); ?>
申请后返回的数据
注意事项
1、uland.taobao.com原链接一开始是有局部符号曾经编码过的,咱们要进行解码,取得原始未解码的链接
2、在签名的时候uland.taobao.com链接是应用未编码的链接进行签名
3、HTTP申请的链接是须要进行编码的,咱们对曾经解码的uland.taobao.com链接进行编码后能力失常发动,否则会报签名谬误。
4、工夫戳格局不是time()函数的生成的字符串,而是2020-09-11 12:00:59这样的格局,在HTTP申请链接外面也是要对工夫戳进行编码。
Author:TANKING
Date:2020-09-11
Web:http://www.likeyun.cn/
WeChat:face6009