//這部峯代碼是封裝的庫文件,<?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
时间: 2024-10-13 14:51:03