用户
 找回密码
 入住 CI 中国社区
搜索
查看: 5633|回复: 9
收起左侧

[版本 2.x] 使用CodeIgniter来调用淘宝SDK数据进行PHP开发

[复制链接]
发表于 2012-8-7 22:01:30 | 显示全部楼层 |阅读模式
引言


淘宝的开放平台提供了很多语言的SDK,许多开发者可以方便的利用SDK调用淘宝开放平台的数据,在Web开发方面,http://www.cit.cn/projects/c-cpp/php.html仍然是最热门的开发语言,通过http://www.cit.cn/projects/php/codeigniter.html开发框架调用淘宝SDK数据应该是一件非常开心的事情。

安装


下载http://www.cit.cn/uploads/allimg/120807/1-120PH13Rc57.zip
解压到application\libraries\

使用



申请应用


初始化类库,这里需要到http://open.taobao.com/index.htm注册应用的SDK的app_key及app_secret

初始化类


                $config = array(
                        'app_key'=>'12056677',
                        'secret_key'=>'aa68718a6d55287e70dd3db3a4641340',
                        //'format'      => 'xml'
                );
                $this->load->library('topsdk', $config);这里可以通过$config对sdk进行配置


进行请求


                $this->topsdk->set_request('TaobaokeItemsGetRequest');
                $this->topsdk->setFields("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");
                $this->topsdk->setPid($this->config->item('taoapi_pid'));
                $this->topsdk->setKeyword("http://www.cit.cn/projects/c-cpp/android.html手机");
                $this->topsdk->setStartCredit("1goldencrown");
                $this->topsdk->setEndCredit("5goldencrown");
                $this->topsdk->setPageSize(8);通过淘宝SDK提供的方法进行请求,set_request用来设定需要请求的方法,支持的方法可以\libraries\TopSdk\top\request中查看到。

所调用的字段及相关显示的字段信息可以在http://open.taobao.com/doc/category_list.htm?id=102中查看到。

调用数据


查询完毕后我们可以来显示数据:
                $result = $this->topsdk->get_data();
                $data['taokes' = $result['taobaoke_items']['taobaoke_item'];这里taokes返回的是一个数组,可以查看API文档相关数据信息。

$this->load->view('android_mobile', $data);在视图中增加

      <ul>
        <?php
        if (empty($taokes)) {
         echo "没有相关商品。";
        } else {
        foreach ($taokes as $taoke) {
        ?>
        <li style="margin:10px;">
          <a href="<?php echo $taoke['click_url'];?>" title="<?php echo Html2Text($taoke['title']) ?>" target="_blank"><img src="<?php echo $taoke['pic_url'];?>" alt="<?php echo Html2Text($taoke['title']) ?>" width='60'/></a>
          <br />
          <a rel="nofollow" href="<?php echo $taoke['click_url'];?>" title="<?php echo Html2Text($taoke['title']) ?>" target="_blank"><?php echo str_cut(Html2Text($taoke['title']),50) ?></a> </li>
        <?php
        }
      }?>
       </ul>支持我们这里就可以通过SDK来调用淘宝数据了,你可以利用淘宝这个SDK开发很多的应用,例如:淘宝客等。

评分

参与人数 1威望 +5 收起 理由
bax + 5 测试成功!

查看全部评分

发表于 2012-12-11 17:47:17 | 显示全部楼层
可以给我一份例子吗 我正需要 QQ:2285519929 在这里先谢过了
发表于 2013-3-23 11:12:06 | 显示全部楼层
我也求一份!32744632@qq.com  谢谢
发表于 2013-3-23 11:19:10 | 显示全部楼层
不错!!!!!!!
发表于 2013-9-5 00:10:05 | 显示全部楼层
开放的API是调用成功

但是有没有用户授权的例子?有些API需要授权,但是不知道要怎么授权
发表于 2013-9-5 10:36:45 | 显示全部楼层
授權就是要去申請.
发表于 2013-12-20 21:15:39 | 显示全部楼层
本帖最后由 zero3412 于 2013-12-20 21:17 编辑

我不是故意要把它翻出来的,只是想表达一下谢意,非常感谢。
但有一个小错误,少了一个session的参数
public function get_data()
{
        $resp = $this->top_cilent->execute($this->_req);
        if ("array" == $this->format) {       
                        $resp = $this->_get_object_vars_final($resp);
                }
                return $resp;
}
应该修改为:
public function get_data($session = null)
{
        $resp = $this->top_cilent->execute($this->_req,$session);
        if ("array" == $this->format) {       
                        $resp = $this->_get_object_vars_final($resp);
                }
                return $resp;
}
发表于 2013-12-31 16:24:18 | 显示全部楼层
没有成功
发表于 2014-4-2 11:47:49 | 显示全部楼层
我也需要一份。谢谢 1840801131@qq.com
发表于 2014-4-2 23:12:56 | 显示全部楼层
哇,高大上啊,O(∩_∩)O谢谢

本版积分规则