今天想使用淘宝开放平台的API获取商品详情,可是以前一直没使用过,看起来有点高深莫测,后然看开发入门,一步一步,还真有点感觉了,然后看示例,还真行了,记下来以后参考。其中遇到问题,后然解决了。
因为我已经有APPKEY了所以,我使用的是正式环境,大家可以使用测试换进,设置稍微有点区别:
1、下载PHP SDK,下载地址:http://open.taobao.com/doc/detail.htm?spm=0.0.0.21.e7516f&id=34#s1
2、PHP SDK解压后,lotusphp_runtime,top两目录及TopSdk.php文件均放置在站点根目录;
3、测试页面tb_sdk.php的代码:
<?php
header("Content-type: text/html; charset=utf-8");
include "TopSdk.php";
//将下载SDK解压后top里的TopClient.php第8行$gatewayUrl的值改为沙箱地址:http://gw.api.tbsandbox.com/router/rest,
//正式环境时需要将该地址设置为:http://gw.api.taobao.com/router/rest
//实例化TopClient类
require_once(dirname(__FILE__).‘/TopSdk.php‘); //引用淘宝开放平台 API SDK
$c = new TopClient;
$c->appkey = ‘12345678‘; //填写你自己的APPKEY ,这里我修改过的,不能直接用
$c->secretKey = ‘61b1cd6274688eb8235df96ae9fddef1‘; //填写你自己的secretKey
$req = new TaobaokeItemsDetailGetRequest;
$req->setFields("click_url,shop_click_url,seller_credit_score,num_iid,title,nick,desc");
$req->setNumIids("13099762469");
$req->setNick("测试"); //你的淘宝帐号
//执行API请求并打印结果
$resp = $c->execute($req);
echo "测试结果如下:";
print_r($resp);
echo "<br>";
echo "nick:".$req->getNick();
?>
4、出现的第一个问题:Call to undefined function curl_init(),出现这个问题的原因是curl库没有打开。网上搜索到的解决方法:
首先,打开php.ini,找到“extension=php_curl.dll”,然后去掉前面的“;”注释;
如果还出现此类问题,先检查php.ini的extension_dir值是哪个目录,在那个目录下检查有无php_curl.dll,没有的话请下载php_curl.dll,再把php目录中的libeay32.dll和ssleay32.dll拷到c:\windows\system32里面。
这时发现问题依然没有解决,问题的原因是php.ini文件是临时产生的,修改之后又重新生成了一个覆盖了修改过的。解决的办法是打开项目属性->配置属性->debug->advanced 修改Php.in path选项即可。或在php.ini文件中找到disable_functions 字符串,在其后把 scandir 去掉。