王老狗博客电话15858213085

烟台网站优化_烟台seo_烟台网络推广_烟台网站建设_王老狗博客电话15858213085

上一篇: 干货:淘宝店想赚钱请不要找一件代发的价格贵不说货源不稳定 下一篇:商城:ecshop添加了商品为什么首页不显示?答:需在商品属性勾选新品精品或者热销!

淘宝:淘宝沙箱测试环境--操作帮助

淘宝:淘宝沙箱测试环境-创建淘宝开放平台应用的步骤简单记录

http://www.tbsandbox.com/doc/index.html#account

记录一下淘宝开放平台应用开发的步骤。
1,注册成为开发者,创建一个应用,
参照下面的链接如何选择应用
http://open.taobao.com/doc/detail.htm?id=101710
创建应用的时候有一个回调地址url,
回调地址是用来接收TOP(开放平台)返回授权相关数据的,
下面是你的应用使用TOP API的流程:在没有上线之前测试都在所谓的沙箱模式下进行的。
1,以web应用为例,用户访问你的web,你的web应用redirect用户到淘宝的登录认证,比如如下
https://oauth.tbsandbox.com/authorize?response_type=code&client_id=1021738064&redirect_uri=http%3A%2F%2Fdev2dev.sinaapp.com%2Ftaobao%2Fcallback.php&from_site=fuwu
2,用户用淘宝账号登录,redirec用户到回调的url,就是你的应用的一个url
3,一个授权码code会作为参数传给回调的url,你的应用用这个授权码code以post的方式访问淘宝的
https://oauth.tbsandbox.com/token获取token
4,得到token后就可以调用淘宝的API了。
参照下面的链接获取更多关于认证的信息
http://open.taobao.com/doc/detail.htm?spm=0.0.0.0.CSGRVZ&id=118
一下注意点:
1,在测试的时候使用的是沙箱环境的AppKey和AppSecret,淘宝端认证的url也是沙箱环境的tbsandbox。
2,用的登录账户也必须是沙箱环境的,http://www.tbsandbox.com/doc/index.html#taobao_acount
3,淘宝提供的调用示例http://open.taobao.com/doc/detail.htm?spm=0.0.0.0.mtTHeu& id=131  'session_key' => $sessionkey,应该改为'session' => $sessionkey,

回调页面代码如下

  1. <?php  
  2. function curl($url$postFields = null)  
  3.     {  
  4.         $ch = curl_init();  
  5.         curl_setopt($ch, CURLOPT_URL, $url);  
  6.         curl_setopt($ch, CURLOPT_FAILONERROR, false);  
  7.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  
  8.   
  9.         if(strlen($url) > 5 && strtolower(substr($url,0,5)) == "https" ) {  
  10.             curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);  
  11.             curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);  
  12.         }  
  13.   
  14.         if (is_array($postFields) && 0 < count($postFields))  
  15.         {  
  16.             $postBodyString = "";  
  17.             $postMultipart = false;  
  18.             foreach ($postFields as $k => $v)  
  19.             {  
  20.                 if("@" != substr($v, 0, 1))//判断是不是文件上传  
  21.                 {  
  22.                     $postBodyString .= "$k=" . urlencode($v) . "&";   
  23.                 }  
  24.                 else//文件上传用multipart/form-data,否则用www-form-urlencoded  
  25.                 {  
  26.                     $postMultipart = true;  
  27.                 }  
  28.             }  
  29.             unset($k$v);  
  30.             curl_setopt($ch, CURLOPT_POST, true);  
  31.             if ($postMultipart)  
  32.             {  
  33.                 curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);  
  34.             }  
  35.             else  
  36.             {  
  37.                 curl_setopt($ch, CURLOPT_POSTFIELDS, substr($postBodyString,0,-1));  
  38.             }  
  39.         }  
  40.         $reponse = curl_exec($ch);  
  41.           
  42.         if (curl_errno($ch))  
  43.         {  
  44.             throw new Exception(curl_error($ch),0);  
  45.         }  
  46.         else  
  47.         {  
  48.             $httpStatusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);  
  49.             if (200 !== $httpStatusCode)  
  50.             {  
  51.                 throw new Exception($reponse,$httpStatusCode);  
  52.             }  
  53.         }  
  54.         curl_close($ch);  
  55.         return $reponse;  
  56.     }  
  57.           
  58. header("Content-Type:text/html;charset=UTF-8");  
  59. require_once 'util.php';  
  60. $appKey = '沙箱环境的appkey';  
  61. $appSecret = '沙箱环境的appSecret ';  
  62. //$sessionkey= 'test';  
  63. $code = $_GET["code"];  
  64. <pre code_snippet_id="195967" snippet_file_name="blog_20140220_1_5824846" name="code" class="php">//$code = $_GET["top_session"]; //prod enc</pre>$paramArr = array( 'code' =& gt; $code, 'grant_type' => "authorization_code", 'client_id' =& gt; $appKey, 'client_secret' => $appSecret, 'redirect_uri' =& gt; "http://dev2dev.sinaapp.com/taobao/test.php");//参数数组$url = 'https: //oauth.tbsandbox.com/token';<br>  
  65. //$url = 'https://oauth.taobao.com/token'; //prod env<br>  
  66. echo curl($url,$paramArr); //显示返回信息echo "$code";?>  
  67. <pre></pre>  
  68. 下面是应用调用淘宝API的代码:利用回调页面获取的session tokentest.php<pre code_snippet_id="195967" snippet_file_name="blog_20140220_2_186672" name="code" class="php"><?php  
  69. header("Content-Type:text/html;charset=UTF-8");  
  70. require_once 'util.php';  
  71. $appKey = '沙箱的appkey';  
  72. $appSecret = '沙箱的appsecret';  
  73. $sessionkey'6202a275b902c321c324db810764ecbae6ace39da3f702f2074082787';//回调页面得到code后再获取的session token  
  74. //参数数组  
  75. $paramArr = array(  
  76.      'app_key' => $appKey,  
  77.      'session' => $sessionkey,  
  78.      'method' => 'taobao.user.seller.get',  
  79.      'format' => 'json',  
  80.      'v' => '2.0',  
  81.      'sign_method'=>'md5',  
  82.      'timestamp' => date('Y-m-d H:i:s'),  
  83.      'fields' => 'user_id,nick,sex,seller_credit,type,has_more_pic,item_img_num,item_img_size,prop_img_num,prop_img_size,auto_repost,promoted_type,status,alipay_bind,consumer_protection,avatar,liangpin,sign_food_seller_promise,has_shop,is_lightning_consignment,has_sub_stock,is_golden_seller,vip_info,magazine_subscribe,vertical_market,online_gaming'  
  84. );  
  85.   
  86. //生成签名  
  87. $sign = createSign($paramArr);  
  88. //组织参数  
  89. $strParam = createStrParam($paramArr);  
  90. $strParam .= 'sign='.$sign;  
  91. //访问服务  
  92. $url = 'http://gw.api.tbsandbox.com/router/rest?'.$strParam; //沙箱环境调用地址  
  93. //$url = 'http://gw.api.taobao.com/router/rest?'.$strParam; //prod调用地址  
  94. $result = file_get_contents($url);  
  95. $result = json_decode($result);  
  96. echo "json的结构为:";  
  97. print_r($result);  
  98. echo "<br>";  
  99. echo "用户名称为:".$result->user_get_response->user->nick;  
  100. echo "<br>";  
  101. echo "买家信用等级为:".$result->user_get_response->user->buyer_credit->level;  
  102. ?></pre><br>  
  103. util.php  
  104. <p></p>  
  105. <p></p>  
  106. <pre code_snippet_id="195967" snippet_file_name="blog_20140220_3_4439814" name="code" class="php"><?php  
  107. //签名函数  
  108. function createSign ($paramArr) {  
  109.      global $appSecret;  
  110.      $sign = $appSecret;  
  111.      ksort($paramArr);  
  112.      foreach ($paramArr as $key => $val) {  
  113.          if ($key != '' && $val != '') {  
  114.              $sign .= $key.$val;  
  115.          }  
  116.      }  
  117.      $sign.=$appSecret;  
  118.      $sign = strtoupper(md5($sign));  
  119.      return $sign;  
  120. }  
  121.   
  122. //组参函数  
  123. function createStrParam ($paramArr) {  
  124.      $strParam = '';  
  125.      foreach ($paramArr as $key => $val) {  
  126.      if ($key != '' && $val != '') {  
  127.              $strParam .= $key.'='.urlencode($val).'&';  
  128.          }  
  129.      }  
  130.      return $strParam;  
  131. }  
  132. ?></pre>如果想用正式环境测试,需要把appKey,appSecret换成正式环境的。<br>  
  133. 同时认证后传给应用的回调url的参数是$code = $_GET["top_session"];//prod enc<br>  
  134. 淘宝的用户认证url也应该换成正式环境的<br>  
  135. http://container.api.taobao.com/container?appkey={appkey}<br>  
  136. 淘宝的token认证url也应该换成正式环境的<br>  
  137. $url = 'https://oauth.taobao.com/token'; //prod env<br>  
  138. API调用url换成如下<br>  
  139. <p>$url = 'http://gw.api.taobao.com/router/rest?'.$strParam; //prod调用地址</p>  
  140. <p>用户认证入口</p>  
  141. <p><div id="<a href="http://lib.csdn.net /base/4" class="replace_word" title="Docker知识 库" target="_blank" style="color:#df3434; font-weight:bold;">Container</a>"><br>  
  142.     <a href="https://oauth.tbsandbox.com/authorize?response_type=code&client_id=xxxx&redirect_uri=http%3A%2F%2Fdev2dev.sinaapp.com%2Ftaobao%2Fcallback.php&from_site=fuwu">login sandbox</a><br>  
  143.     <br><br>  
  144.     <a href="http://container.api.taobao.com/container?appkey=yyy">login prod</a><br>  
  145. </div></p>  
  146. <p><br>  
  147. </p>  
  148. <p></p>  
  149. <pre></pre> 

点击这里获取该日志的TrackBack引用地址

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于本文

您正在阅读的是:淘宝:淘宝沙箱测试环境-创建淘宝开放平台应用的步骤简单记录
kevin482 发表于:2016-9-22 16:22:57
分类:生活点滴
关键词:淘宝  

博客作者

王老狗博客电话15858213085

最近发表

最新评论及回复

最近留言

控制面板

Search

网站分类

文章归档

图标汇集

点击这里给我发消息

鲁ICP备09047409号-3