您现在的位置:计算机技术学习网 > 技术中心 > WEB编程 > PHP >

qq 登录api php类

来源:未知 责任编辑:责任编辑 发表时间:2015-09-16 20:04 点击:
<?php
/**
*  QQ操作类
* $Author: shunzi $
* $Id: cls_qq.php 17171 2011-05-30 06:14:00Z shunzi $
*/
class qq_api
{
var   $appid = ”;
var   $appkey  = ”;
var   $callback  = ”;
var   $login_type = 1;
/**
* 构造函数
*
* @access  public
* @param   string      $ver        版本号
*
* @return  void
*/
function qq_api($appid, $appkey,$callback,$login_type)
{
$this->appid = $appid;
$this->appkey  = $appkey;
$this->callback  = $callback;
$this->login_type  = $login_type;
}
/**
* @brief 跳转到QQ登录页面.请求需经过URL编码,编码时请遵循 RFC 1738
*
* @param $appid
* @param $appkey
* @param $callback
*
* @return 返回字符串格式为:oauth_token=xxx&openid=xxx&oauth_signature=xxx&timestamp=xxx&oauth_vericode=xxx
*/
function redirect_to_login()
{
//跳转到QQ登录页的接口地址, 不要更改!!
$redirect = “http://openapi.qzone.qq.com/oauth/qzoneoauth_authorize?oauth_consumer_key=”.$this->appid.”&”;
//调用get_request_token接口获取未授权的临时token
$result = array();
$request_token = $this->get_request_token();
parse_str($request_token, $result);
//request token, request token secret 需要保存起来
//在demo演示中,直接保存在全局变量中.
//为避免网站存在多个子域名或同一个主域名不同服务器造成的session无法共享问题
//请开发者按照本SDK中comm/session.php中的注释对session.php进行必要的修改,以解决上述2个问题,
$_SESSION["token"]        = $result["oauth_token"];
$_SESSION["secret"]       = $result["oauth_token_secret"];
//print_r($_SESSION);
if ($result["oauth_token"] == “”)
{
//示例代码中没有对错误情况进行处理。真实情况下网站需要自己处理错误情况
exit;
}
////构造请求URL
$redirect .= “oauth_token=”.$result["oauth_token"].”&oauth_callback=”.rawurlencode($this->callback);
header(“Location:$redirect”);
}
/**
* @brief 请求临时token.请求需经过URL编码,编码时请遵循 RFC 1738
*
* @param $appid
* @param $appkey
*
* @return 返回字符串格式为:oauth_token=xxx&oauth_token_secret=xxx
*/
function get_request_token()
{
//请求临时token的接口地址, 不要更改!!
$url    = “http://openapi.qzone.qq.com/oauth/qzoneoauth_request_token?”;
//生成oauth_signature签名值。签名值生成方法详见(http://wiki.opensns.qq.com/wiki/【QQ登录】签名参数oauth_signature的说明)
//(1) 构造生成签名值的源串(HTTP请求方式 & urlencode(uri) & urlencode(a=x&b=y&…))
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • PHP测试
  • 十天学会php之第六天
  • 查找数组中指定键名的值
  • 几种显示数据的方法的比较
  • 使用xmlhttp为网站增加域名查询功能
  • PHP+MYSQL+Javascript数据库查询结果的动态显示
  • 用redis实现跨服务器session
  • 用新浪微博接口发送图片微博失败的原因
  • smarty局部缓存技术[源码分析]
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1