QQ空间开放平台开发教程-SDK和API的使用

今天闲着没事给大家说说腾讯开放平台我用的是OpenAPI V3.0的PHPSdk,大家可以下载一下,现在就简单的说明一下使用因为我也没有应需求只是看一下应该怎么使用而已,大家从官方下载Sdk,然后在应用管理中心-应用信息管理-平台信息管理然后输入自己的应用的url我的是http://www.lingphp.com/index.php作为调试 那大家简单来学一下吧!把下载的Test_OpenApiV3.php重新命名为index.php
<?php

/**
 * OpenAPI V3 SDK 示例代码,适用于大部分OpenAPI。如果是上传文件类OpenAPI,请参考本SDK包中的“Test_UploadFile.php”文件中的示例代码。
 *
 * @version 3.0.4
 * @author open.qq.com
 * @copyright © 2012, Tencent Corporation. All rights reserved.
 * @History:
 *               3.0.4 | coolinchen | 2012-09-07 10:20:12 | initialization
 */

header('content-type:text/html;charset=utf-8'); //这里加载的编码
require_once 'OpenApiV3.php';
require_once 'mysql.class.php';  //加载数据库类
// 应用基本信息
$appid = 10066x75;                //替换成你自己的
$appkey = 'b9e2e397618b2e1af254135731fxxxxx'; //替换成你自己的

// OpenAPI的服务器IP 
// 最新的API服务器地址请参考wiki文档: http://wiki.open.qq.com/wiki/API3.0%E6%96%87%E6%A1%A3 
$server_name = '119.147.19.43';


// 用户的OpenID/OpenKey
$openid = $_GET['openid'];  //更改为get获取
$openkey = $_GET['openkey']; //更改为get获取

// 所要访问的平台, pf的其他取值参考wiki文档: http://wiki.open.qq.com/wiki/API3.0%E6%96%87%E6%A1%A3 
$pf = 'qzone';

$sdk = new OpenApiV3($appid, $appkey);
$sdk->setServerName($server_name);

$ret = get_user_info($sdk, $openid, $openkey, $pf);
//var_dump($ret);

if(isset($openid)){
    $result = $db->GetOne("select * from qq_user where openid ='{$openid}'");
        if(empty($result)){
            $data = $db->ExecuteNoneQuery("insert into qq_user (username,openid,openkey,city,avatar) value ('{$ret['nickname']}','{$openid}','{$openkey}','{$ret['city']}','{$ret['figureurl']}.gif')");  //要把openkey保存到数据库,因为openkey只接收一次!openid 每个用户都是唯一的 
            if($data){
                echo "添加成功";
            }else{
                echo "添加失败";
                exit();
            }
        }else{
            echo "登陆成功";
        }
        print_r("===========================\n");
        print_r($ret);
        $openkey = $db->GetOne("select openkey from qq_user where openid ='{$openid}'");
        $openkey = $openkey['openkey'];
        $islogin = is_setup($sdk, $openid, $openkey, $pf); //
        print_r("===========================\n");
        print_r($islogin);
}
/**
 * 判断是否添加应用
 * 验证用户是否安装了应用    v3/user/is_setup 这个咱们自己写的
 * @param object $sdk OpenApiV3 Object
 * @param string $openid openid
 * @param string $openkey openkey
 * @param string $pf 平台
 * @return array 好友资料数组
 */


function is_setup($sdk, $openid, $openkey, $pf)
{
    $params = array(
        'openid' => $openid,
        'openkey' => $openkey,
        'pf' => $pf,
    );
    
    $script_name = '/v3/user/is_setup';
    return $sdk->api($script_name, $params,'post');
    
    
}
/**
 * 获取好友资料
 *
 * @param object $sdk OpenApiV3 Object
 * @param string $openid openid
 * @param string $openkey openkey
 * @param string $pf 平台
 * @return array 好友资料数组
 */
function get_user_info($sdk, $openid, $openkey, $pf)
{
    $params = array(
        'openid' => $openid,
        'openkey' => $openkey,
        'pf' => $pf,
    );
    
    $script_name = '/v3/user/get_info';
    return $sdk->api($script_name, $params,'post');
    
    
}
-- ----------------------------
-- Table structure for `qq_user`
-- ----------------------------
DROP TABLE IF EXISTS `qq_user`;
CREATE TABLE `qq_user` (
  `id` int(8) unsigned NOT NULL AUTO_INCREMENT,
  `username` varchar(250) NOT NULL,
  `openid` varchar(250) NOT NULL,
  `openkey` varchar(250) NOT NULL,
  `city` varchar(50) DEFAULT NULL,
  `avatar` varchar(300) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8

 


源码下载地址http://pan.baidu.com/share/link?shareid=440238&uk=3172762343

如果有疑问请留言

 

posted @ 2016-01-09 11:12  archoncap  阅读(637)  评论(0编辑  收藏  举报