qq代码复制(代码复制腾讯网警)

qq代码复制(代码复制腾讯网警)

黑客教程hacker2024-03-02 7:20:26812A+A-

  自己重写的一个php QQ第三方登陆SDK程序代码,官方的不敢恭维了所以自己再写了一个

  主要是考虑到QQ的PHP SDK写的真是太烂了,纯属是普及API知识,而不是到手就可以部署的类库。。反正自己都写了一个了,就拿出来分享下。。

  什么也不多说,直接上代码。

  Qq_sdk.php

代码如下

复制代码

  <?php

  

  class Qq_sdk{

  //配置APP参数

  private $app_id = 你的APP ID;

  private $app_secret = ‘你的APP_secret’;

  private $redirect = 你的回调地址;

  function __construct()

  {

  }

  

  function get_access_token($code)

  {

  //获取access_token

  $token_url = ‘https://graph.qq.com/oauth2.0/token?grant_type=authorization_code&’

  . ‘client_id=’ . $this->app_id . ‘&redirect_uri=’ . urlencode($this->redirect)//回调地址

  . ‘&client_secret=’ . $this->app_secret . ‘&code=’ . $code;

  $token = array();

  //expires_in 为access_token 有效时间增量

  parse_str($this->_curl_get_content($token_url), $token);

  return $token;

  }

  

  function get_open_id($token)

  {

  $str = $this->_curl_get_content(‘https://graph.qq.com/oauth2.0/me?access_token=’ . $token);

  if (strpos($str, “callback”) !== false)

  {

  $lpos = strpos($str, “(“);

  $rpos = strrpos($str, “)”);

  $str = substr($str, $lpos + 1, $rpos – $lpos -1);

  }

  $user = json_decode($str, TRUE);

  return $user;

  }

  

  function get_user_info($token, $open_id)

  {

  //组装URL

  $user_info_url = ‘https://graph.qq.com/user/get_use

  r_info?’

  . ‘access_token=’ . $token

  . ‘&oauth_consumer_key=’ . $this->app_id

  . ‘&openid=’ . $open_id

  . ‘&format=json’;

  $info = json_decode($this->_curl_get_content($user_info_url), TRUE);

  return $info;

  }

  private function _curl_get_content($url)

  {

  $ch = curl_init();

  curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

  curl_setopt($ch, CURLOPT_URL, $url);

  //设置超时时间为3s

  curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 3);

  $result = curl_exec($ch);

  curl_close($ch);

  return $result;

  }

  }

  

  使用方法:在你网站上放置超链接,地址为:https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=你的APP_ID&redirect_uri=你的回调地址

  在回调地址上调用我上面这个qq_sdk即可。

  demo如下:

代码如下

复制代码

  if(empty($_GET['code']))

  {

  exit(‘参数非法’);

  }

  include(‘qq_sdk’);

  $qq_sdk = new Qq_sdk();

  $token = $qq_sdk->get_access_token($_GET['code']);

  print_r($token);

  $open_id = $qq_sdk->get_open_id($token['access_token']);

qq代码复制(代码复制腾讯网警)

  print_r($open_id);

  $user_info = $qq_sdk->get_user_info($token['access_token'], $open_id['openid']);

qq代码复制(代码复制腾讯网警)

  print_r($user_info);

点击这里复制本文地址 以上内容由黑资讯整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
  • 2条评论
  • 忿咬卿绡2024-03-02 15:47:27
  • rivate $app_secret = ‘你的APP_secret’;   private $redirect = 你的回调地址;  function __construct()   {   }   /**  * [get_access_token 获取access_token]  *

支持Ctrl+Enter提交

黑资讯 © All Rights Reserved.  
Copyright Copyright 2015-2020 黑资讯
滇ICP备19002590号-1
Powered by 黑客资讯 Themes by 如有不合适之处联系我们
网站地图| 发展历程| 留言建议| 网站管理