<?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'); }

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

-- ----------------------------
-- 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 以上有数据库...

QQ空间开放平台开发教程-SDK和API的使用的更多相关文章

  1. 微信开放平台 公众号第三方平台开发 教程四 代公众号调用接口的SDK和demo

    原文:微信开放平台 公众号第三方平台开发 教程四 代公众号调用接口的SDK和demo 教程导航: 微信开放平台 公众号第三方平台开发 教程一 平台介绍 微信开放平台 公众号第三方平台开发 教程二 创建 ...

  2. Senparc.Weixin.MP SDK 微信公众平台开发教程(十七):个性化菜单接口说明

    前不久微信上线了个性化菜单接口,Senparc.Weixin SDK也已经同步更新. 本次更新升级Senparc.Weixin.MP版本到v13.5.2,依赖Senparc.Weixin版本4.5.4 ...

  3. Senparc.Weixin.MP SDK 微信公众平台开发教程(三):微信公众平台开发验证

    要对接微信公众平台的"开发模式",即对接到自己的网站程序,必须在注册成功之后(见Senparc.Weixin.MP SDK 微信公众平台开发教程(一):微信公众平台注册),等待官方 ...

  4. Senparc.Weixin.MP SDK 微信公众平台开发教程(五):使用Senparc.Weixin.MP SDK

    Senparc.Weixin.MP SDK已经涵盖了微信6.x的所有公共API. 整个项目的源代码以及已经编译好的程序集可以在这个项目中获取到:https://github.com/JeffreySu ...

  5. Senparc.Weixin.MP SDK 微信公众平台开发教程(十):多客服接口说明

    微信官方的多客服接口原理是通过用户发送的信息,开发者服务器返回一条指定类型的响应信息,使用户的对话状态切换到官方的多客服状态(持续一段时间),这段时间内用户发送的所有信息都不会到达开发者的服务器,而是 ...

  6. Senparc.Weixin.MP SDK 微信公众平台开发教程(十一):高级接口说明

    这里所说的高级接口是指面向通过认证的服务号开通的高级功能. 高级功能大致可以分类为: 用户接口 分组接口 客服接口(有别于之前介绍的多客服) 群发接口 多媒体接口 二维码接口 模板消息接口(不是所有账 ...

  7. Senparc.Weixin.MP SDK 微信公众平台开发教程(十二):OAuth2.0说明

    紧接上一篇<Senparc.Weixin.MP SDK 微信公众平台开发教程(十一):高级接口说明>,这里专讲OAuth2.0. 理解OAuth2.0 首先我们通过一张图片来了解一下OAu ...

  8. Senparc.Weixin.MP SDK 微信公众平台开发教程(十五):消息加密

    前不久,微信的企业号使用了强制的消息加密方式,随后公众号也加入了可选的消息加密选项.目前企业号和公众号的加密方式是一致的(格式会有少许差别). 加密设置 进入公众号后台的“开发者中心”,我们可以看到U ...

  9. Senparc.Weixin.MP SDK 微信公众平台开发教程(十六):AccessToken自动管理机制

    在<Senparc.Weixin.MP SDK 微信公众平台开发教程(八):通用接口说明>中,我介绍了获取AccessToken(通用接口)的方法. 在实际的开发过程中,所有的高级接口都需 ...

随机推荐

  1. C语言深度剖析学习错误点记录

    0. static修饰变量和函数 static修饰变量,1)限定作用域,本文件内.全局变量(自定义起,本文件前面要用需extern声明),局部变量函数内:2)生命周期,程序运行期间一直保存. stat ...

  2. 重写NSLog,Debug模式下打印日志和当前行数

    在pch文件中加入以下命令,NSLog在真机测试中就不会打印了 //重写NSLog,Debug模式下打印日志和当前行数 #if DEBUG #define NSLog(FORMAT, ...) fpr ...

  3. hibernate3与ehcache-2.8.3配合使用,在多个SessionFactory实例的情况下出现“Another unnamed CacheManager already exists in the same VM”问题

    不想看分析过程的,直接拉到最下面看第4部分 1. 问题背景 由于某些原因,项目中使用了hibernate3与ehcache-2.8.3在配合使用,又由于某些原因,需要使用多个SessionFactor ...

  4. CPU boot up过程

    1.   CPU0 BOOT CPU1 BOOT 通过IPC互相通信 2.   CPU1 BOOT 完后,loop,等待IPC from CPU0 3.   cpu0 写IPC通知CPU1,cpu1 ...

  5. 提高神经网络的学习方式Improving the way neural networks learn

    When a golf player is first learning to play golf, they usually spend most of their time developing ...

  6. Effective C++ 5.实现

    //条款26:尽量延后变量的定义式出现的时间 // 1.不仅应该延后变量的定义,更应该直到使用该变量的前一刻为止,甚至应该尝试延后这份定义直到能够给它初始值为止.如果这样,不仅能够避免构造和析构的非必 ...

  7. Dropbox能火,为何它的中国同行不能火?

    http://tech.163.com/15/0510/11/AP8II63H000915BF.html Dropbox能火,为何它的中国同行不能火? 2015-05-10 11:33:55 来源:  ...

  8. 最大权闭合图(Road constructions)hdu3917

    题意:给出n个城市,k条道路,每条道路都有其负责的公司和花费,m个公司来投标修路,给出m个公司承包需要交纳的赋税,如果第i个公司负责修1-->2路,第j个公司负责修2-->3路,如果选择了 ...

  9. UIMenuController和UIMenuItem的使用

    UIMenuController的方法: 1.创建menucontroller + (UIMenuController *)sharedMenuController; 2.设置是否可见 - (void ...

  10. USACO: Combination Lock

    长久不写算法题,这种简单题折腾了一下午... /* ID: yingzho2 LANG: C++ TASK: combo */ #include <iostream> #include & ...