1.申请资格--进行开发者信息审核
点击导航栏上的头像即可进入开发者信息填写界面
2.应用申请
点击创建应用即可
3.下载sdk资源
下载地址:http://wiki.connect.qq.com/sdk%E4%B8%8B%E8%BD%BD
4.配置
将下载的sdk解压后,将connect2.1文件放入到网站目录中,在浏览器中运行 网站地址/目录/connect2.1/install 进行配置,填入相应的app_id和app_key,当配置完成时,即可将API之外的所有文件删除。若只是测试和学习使用,即使网站应用申请审核不通过也可以进行。
5.PHP sdk目录结构
API:包含接口类,配置文件,接口类主要使用Oauth,class.phpOauth相关URL动态拼接与token操作、Recorder.class.php配置读写与SESSION存取、URL.class.php基于CURL库的get和post请求
6.简单实例
回调文件callback.php
require_once './Connect2.1/API/qqConnectAPI.php';
$Oauth = new Oauth();
$access_token = $Oauth->qq_callback();
$openId = $Oauth->get_openid();
$URL = new URL();
$keysArr = [
'access_token' => $access_token,
'oauth_consumer_key' => 'app_id',
'openid' => $openId
];
$baseURL = 'https://graph.qq.com/user/get_user_info';
$res = $URL->get($baseURL, $keysArr);
$user_info = json_decode($res, true);
$_SESSION['user_info'] = $user_info;
$_SESSION['time'] = time();
header('Location:http://test.com/qqLogin/index.php');
首页文件index.php
<?php session_start();?>
<html>
<head>
<meta charset="UTF-8">
<title>首页</title>
<link rel="stylesheet" href="http://test.com/PHPMailer/static/css/bootstrap.min.css">
<script src="http://test.com/PHPMailer/static/js/jquery-3.4.0.min.js"></script>
</head>
<body>
<nav class="navbar navbar-default">
<div class="container-fluid">
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right">
<?php if(!isset($_SESSION['QC_userData']) || empty($_SESSION['QC_userData']) || time()-$_SESSION['time']>3*30*12*60*60){ ?>
<li><a href="http://test.com/qqLogin/login.php">登录</a></li>
<?php }else{ ?>
<li><a href="#"><?php echo $_SESSION['user_info']['nickname']; ?></a></li>
<li><a href="http://test.com/qqLogin/logout.php">退出</a></li>
<?php } ?>
</ul>
</div><!-- /.navbar-collapse -->
</div><!-- /.container-fluid -->
</nav>
</body>
</html>
登陆文件login.php
require_once './Connect2.1/API/qqConnectAPI.php';
$Oauth = new OAuth();
$Oauth->qq_login();
退出文件logout.php
session_start();
unset($_SESSION['QC_userData']);
$_SESSION['user_info'] = '';
$_SESSION['time'] = 0;
header('Location:http://test.com/qqLogin/index.php');