zoukankan      html  css  js  c++  java
  • PHP微信登錄(網頁授權)之後的獲取用戶的信息

    //這部峯代碼是封裝的庫文件,
    <?php /** * Created by PhpStorm. * User: root * Date: 16-6-23 * Time: 下午3:29 */ class weixinUser{ protected $m_appid;//应用唯一标识,在微信开放平台提交应用审核通过后获得 protected $m_AppSecret;//应用密钥AppSecret,在微信开放平台提交应用审核通过后获得 function __construct($appid, $m_AppSecret){ //初始化 $this->m_appid = $appid; $this->m_AppSecret = $m_AppSecret; } //根據用戶授權登錄之後渠道的code得到access_token public function get_access_token($code) { $access_token_url ="https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$this->m_appid."&secret=".$this->m_AppSecret."&code=".$code."&grant_type=authorization_code"; $access_token = json_decode(file_get_contents($access_token_url)); if (isset($access_token->errcode)) { $this->error($access_token->errcode, $access_token->errmsg); return 0; } else { return $access_token; } } //根據accesss_token取到用戶的個人信息 public function get_user_info($access_token, $language="zh_CN") { $url = "https://api.weixin.qq.com/sns/userinfo?access_token=".$access_token->{'access_token'}."&openid=".$access_token->{"openid"}; $user_info = json_decode(file_get_contents($url)); if (isset($user_info->errcode)) { $this->error($user_info->errcode,$user_info->errmsg); return 0; }else{ return $user_info; } } //輸出錯誤信息 public function error($errmsg, $errcode = "001") { echo '<h1>error:</h1>' . $errcode; echo '<br/><h2>error information:</h2>' . $errmsg; } }

    微信登錄(網頁授權)之後的獲取用戶的信息需要三步:

    第一步:詳見網頁微信授權(我的博客微信開發分類中);

    第二步:獲取access_token;

    第三步:獲取用戶的個人信息;

    下面是對上面函數的調用:

    <?php
    include_once "WeixinUser.php";
    $code = $_GET['code'];
    //换成自己的接口信息, 這兩個信息都是公衆號的信息,不是開放平臺的信息。
    $appid = 'wxcd3024b539782879';  
    $AppSecret='06e3cfbccb239d029dee5f6cb9c1dbb4';
    $weixinUser=new weixinUser($appid,$AppSecret); //初始化對象

    $access_token=$weixinUser->get_access_token($code);
    var_dump($access_token); //打印access_token,注意:打印的是一個對象,而不是數組。調用其成員變量時要用"->"
    $user=$weixinUser->get_user_info($access_token);
    var_dump($user); //打印用戶的個人信息 ?>

    至此,用戶的信息就獲取到了。接下來做公衆號的php支付了。詳見博客微信開發 ---  微信支付PHP SDK —— 公众号支付代码详解。

    2016-06-23  21:09:31

  • 相关阅读:
    在CentOS-6.3环境下,利用grub工具手工制作Linux U盘安装盘
    Windowns DOS For 循环实例
    Bootstrap 标签的变体 实例样式
    Bootstrap两端对齐的导航实例
    bootstrap 分页样式代码
    C# 微信扫码支付API (微信扫码支付模式二)
    AjaxFileUpload 在C#中应用
    关于百度编辑器UEditor(1.4.3)在C#.NET中的应用实例
    电脑运行状态
    网络测试
  • 原文地址:https://www.cnblogs.com/mafeng/p/5612265.html
Copyright © 2011-2022 走看看