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

时间: 2024-08-07 00:17:49

PHP微信登錄(網頁授權)之後的獲取用戶的信息的相关文章

實戰案例 - 微信開發重點摘要之用戶唯一識別碼與網頁存取授權碼 (2)

在取得用戶同意授權碼之後,就可以接著拿 openid 和 access token. openid 筆者稱之為用戶唯一識別碼,access code 則是網頁存取授權碼.從騰訊的公眾平台開發文件可以知道,openid 是跟著用戶走的,每個用戶都有自己的識別碼,這個識別碼也是開發者在寫程式的過程中,區分微信用戶的途徑:而 access code 則有類似鑰匙的作用,有了這個和 openid 就能獲取用戶資訊,要取得用戶識別碼和網頁存取授權碼,最關鍵的地方在這個網址: https://api.wei

學習筆記:Linux 文件和目錄屬性及權限

1 . Linux 中的文件 1.1 文件屬性概述 在linux裡面一切皆文件!! Linux 系統中的文件或目錄的屬性主要包括:索引節點(inode).文件類型.權限屬性.鏈接數.所歸屬的用戶和用戶組.最近修改時間等內容: 下面我們看一下執行ls- lhi的結果: [[email protected] oldboy]# ls -lhi     (-h 以人可讀的檔案大小方式呈現) total 28K 394661 drwxr-xr-x. 3 root root 4.0K Jul 10 12:4

邁向 RHCE 之路 (Day26) - Apache 網頁伺服器

本篇將在 SELinux 安全機制及 IPTables 防火牆開啟的環境下實作,分別實作簡單網頁服務及虛擬主機 Virtual Host 設定,最後則是實作網頁中需要保護網頁時可以透過 .htaccess 機制進行保護,關於 Apache 網頁伺服器內容及更詳細設定參數可以參考官方文件 RedHat - Deployment Guide Chapter 14. Web Servers.以下為 Apache 網頁伺服器實作環境:(若執行 semanage 指令發現系統中沒有此一指令請安裝 poli

日志秘密 Windows登錄類型知多少

如果你留意Windows系統的安全日志,在那些事件描述中你將會發現裡面的"登錄類型"並非全部相同,難道除了在鍵盤上進行交互式登錄(登錄類型1)之外還有其它類型嗎? 不錯,Windows為了讓你從日志中獲得更多有價值的信息,它細分了很多種登錄類型,以便讓你區分登錄者到底是從本地登錄,還是從網絡登錄,以及其它更多的登錄方式.因為了解了這些登錄方式,將有助於你從事件日志中發現可疑的黑客行為,並能夠判斷其攻擊方式.下面我們就來詳細地看看Windows的登錄類型. 登錄類型2:交互式登錄(Int

個人資料管理的網頁系統

需求: 第一階段. 動態生成網頁,此網頁中顯示當前目錄下的文件結構,並可以瀏覽文本文檔以及內建圖片. 第一階段. 建立新的文本文檔,並用富文本的方式,可標記某一段文字顏色以及添加圖片,可以加載其他更多的文件類型,如excel, word, rtf, pdf 操作流程: 用java程式執行dos語句,生成文件目錄資料.整理目錄資料成樹形結構(此檔案留做備份,比對新的目錄有無變化). 用java寫出網頁 ============================== 利用批處理生成網頁 @echo o

問題排查:行動裝置網頁前端 UI 設計 (1)

這是最近開始接手的一個微信公眾平台專案, 在重整後端程式碼時,因為也需要透過前端來看效果, 所以就因此在前端的部分遇到了不少問題, 畢竟這是以前沒接觸過的領域 (早年的網頁應用程式開發沒有那麼多分工) 經初步探索,得知此案似乎採用了 Intel 的 App Framework 套件, 大致上看一遍官網的簡介之後,就下載了最新版本 3.0 來玩玩看 然後就拿了一個有資料分頁的來嘗試 這不玩還好,一玩就捅了好幾個馬蜂窩等著我去收拾 頁面結構如下: <div class="view"

Fontface Ninja 一鍵查看網頁使用的字型名稱、大小和行高,快速下載字體檔案

對於網頁設計有興趣的朋友,一定很習慣在上網時注意網頁所使用的字型,若是比較有經驗的使用者會透過找網頁原始碼的方式來查看網頁使用的字型,或是從 CSS 檔裡去挖掘該網站使用的是那一種字型組合.先前我曾介紹過 WhatFont Tool,可以快速顯示網頁使用的字型.大小和行高,是個相當方便的工具,本文要再介紹另一個更強大的工具,它不但能夠幫你快速查詢到字型等資訊,還可以直接在網頁上測試文字實際套用該字體所顯示的樣式,以及一鍵將字型檔案下載到電腦裡. Fontface Ninja 是一個相當好用的瀏覽

Firefox修復QQ快速登錄

中了一次毒,然後火狐裏面就不能用QQ的快捷登錄了,後找到修復方法: 將QQ的四個文件放入火狐的插件文件夾裏面即可. 1.QQ文件目錄: C:\Program Files (x86)\Tencent\QQ\Bin\TXSSO\bin 2.火狐插件目錄: C:\Program Files (x86)\Mozilla Firefox\plugins 3.四個文件: 將1中的3拷貝到2中即可.

eafier 簡單易用 HTML、CSS 網頁編輯器(可自動插入 Tag 標籤)

很久很久以前,一般人要做網頁的話大概都會用 FrontPage 之類的工具,更進階一點的會用 Dreamweaver 等軟體.雖然上述軟體提供很方便的「所見即所得」的編輯預覽模式,但寫出來的網頁程式碼往往會因為各種原因而搞得亂七八糟… 如果你對於 HTML 與 CSS 相當熟悉,習慣自己手工修改.編輯出自己要的網頁內容,一般純文字編輯器卻無法滿足你的需求的話,可以試試看下面這個相當好用的 Leafier 編輯工具. Leafier 是以 HTML 與 CSS 等網頁編輯的需求為主,可讓我們很輕鬆