分享

哪位大神用taobao的api开发过网站,有事请教

 quasiceo 2014-05-14
我自己先前做了个淘宝客,取数据,就是从淘宝取分类,搜索商品没问题:

这是我做请求的类:
PHP code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?php
/*
$request = new request();
$data = array('method'=>'taobao.user.get','fields'=>'user_id,uid,nick,sex,buyer_credit,seller_credit,location,created,last_visit,birthday,type,status,alipay_no,alipay_account,alipay_account,email,consumer_protection,alipay_bind','nick'=>'ray1985514');
die($request->get($data));
*/
class request {
    private $params array(
                'format'=>'xml',
                'app_key'=>App_Key,
                'sign_method'=>'md5',
                'v'=>'2.0'
              );
    private $server_url;
    private $App_Secret;
    private $cache=NULL;
     
    function request(&$_cache) {
        $this->cache=$_cache;
        if(SANFBOX){
            $this->server_url='http://gw.api./router/rest';
            $this->App_Secret='sandbox6df2fdfb1fe3f05a64c4c6743';
        }else{
            $this->server_url='http://gw.api.taobao.com/router/rest';//http://gw.api.taobao.com/router/rest
            $this->App_Secret='9cf5af56df2fdfb1fe3f05a64c4c6743';
        }
    }
    public function get($data){
        $key=md5(serialize($data));
        $rs $this->cache->get($key);
        if($rsreturn simplexml_load_string($rs);
        $data['timestamp']=date('Y-m-d H:i:s');
        $this->params = array_merge($this->params,$data);
        ksort($this->params);
        $url=$this->server_url.'?';
        $dv='';
        $tmp='';
        $url_param='';
        foreach($this->params as $k=>$v){
            $url_param.=$dv.$k.'='.urlencode($v);
            $tmp.=$k.$v;
            $dv='&';
        }
        //die ($App_Secret.$tmp.$App_Secret);
        $url.=$url_param.'&sign='.strtoupper(md5($this->App_Secret.$tmp.$this->App_Secret));
        //die($url);
        $rs=$this->curl($url);
        $this->cache->set($key,$rs,Cache_timeout);
        $rs=simplexml_load_string($rs);
        return $rs;
    }
     
    private function curl($url)
    {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $result = curl_exec($ch);
        curl_close($ch);
        return $result;
    }
     
}
?>


调用
PHP code
1
2
3
4
5
6
7
8
9
10
11
12
$cache new cache();//$cache是个memcache的类,实现了get和set方法即可
$request new request($cache);
$param array(
            'get_user'=>array('method'=>'taobao.user.get','fields'=>'user_id,uid,nick,sex,buyer_credit,seller_credit,location,created,last_visit,birthday,type,status,alipay_no,alipay_account,alipay_account,email,consumer_protection,alipay_bind','nick'=>'leinchu'),
            'get_all_cats'=>array('method'=>'taobao.itemcats.get','parent_cid'=>50010788),
            'get_itemprops'=>array('method'=>'taobao.itemprops.get','cid'=>50010793),
            'get_itempropvalues'=>array('method'=>'taobao.itempropvalues.get','fields'=>'cid,pid,prop_name,vid,name,name_alias,status,sort_order'),
            'get_itemprops'=>array('method'=>'taobao.itemprops.get','cid'=>50010793),
            'get_tk_items'=>array('method'=>'taobao.taobaoke.items.get','nick'=>'leinchu','fields'=>'num_iid,title,nick,pic_url,price,click_url,commission,commission_rate,commission_num,commission_volume,shop_click_url,seller_credit_score,item_location,volume'),
            'get_caturl'=>array('method'=>'taobao.taobaoke.caturl.get','cid'=>50010793,'nick'=>'leinchu')
            );
$rs=$request->get($param['get_tk_items']);

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多