微信公眾平臺(tái)實(shí)現(xiàn)獲取用戶(hù)OpenID的方法
本文實(shí)例講述了微信公眾平臺(tái)實(shí)現(xiàn)獲取用戶(hù)OpenID的方法。分享給大家供大家參考。具體分析如下:
用戶(hù)點(diǎn)擊微信自定義菜單view類(lèi)型按鈕后,微信客戶(hù)端將會(huì)打開(kāi)開(kāi)發(fā)者在按鈕中填寫(xiě)的url值 (即網(wǎng)頁(yè)鏈接),達(dá)到打開(kāi)網(wǎng)頁(yè)的目的,但是view不能獲取用戶(hù)的openid,需要使用微信“網(wǎng)頁(yè)授權(quán)獲取用戶(hù)基本信息”高級(jí)接口結(jié)合使用,獲得用戶(hù)的登入個(gè)人信息。
具體方法:
1、配置網(wǎng)頁(yè)授權(quán)回調(diào)域名,如 m.fzitv.net
2、模擬公眾號(hào)的第三方網(wǎng)頁(yè),http://m.fzitv.net/getcodeurl.php
<?php
if(isset($_SESSION['user'])){
print_r($_SESSION['user']);
exit;
}
$APPID='公眾號(hào)在微信的appid';
$REDIRECT_URI='http://m.fzitv.net/callback.php';
$scope='snsapi_base';
//$scope='snsapi_userinfo';//需要授權(quán)
$url='https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$APPID.'&redirect_uri='.urlencode($REDIRECT_URI).'&response_type=code&scope='.$scope.'&state='.$state.'#wechat_redirect';
header("Location:".$url);
?>
3、第三方網(wǎng)頁(yè)的回跳url中,首先從請(qǐng)求中取得code,然后根據(jù)code進(jìn)一步換取openid和access_token,然后就可以根據(jù)openid和access_token調(diào)用微信的相關(guān)接口查詢(xún)用戶(hù)信息了。
<?php //http://m.fzitv.net/callback.php $appid = "公眾號(hào)在微信的appid"; $secret = "公眾號(hào)在微信的app secret"; $code = $_GET["code"]; $get_token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$secret.'&code='.$code.'&grant_type=authorization_code'; $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$get_token_url); curl_setopt($ch,CURLOPT_HEADER,0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 ); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); $res = curl_exec($ch); curl_close($ch); $json_obj = json_decode($res,true); //根據(jù)openid和access_token查詢(xún)用戶(hù)信息 $access_token = $json_obj['access_token']; $openid = $json_obj['openid']; $get_user_info_url = 'https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token.'&openid='.$openid.'&lang=zh_CN'; $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$get_user_info_url); curl_setopt($ch,CURLOPT_HEADER,0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 ); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); $res = curl_exec($ch); curl_close($ch); //解析json $user_obj = json_decode($res,true); $_SESSION['user'] = $user_obj; print_r($user_obj); ?>
希望本文所述對(duì)大家基于php的微信公眾平臺(tái)開(kāi)發(fā)有所幫助。
- 微信公眾號(hào)支付(一)如何獲取用戶(hù)openId
- .NET微信公眾號(hào)獲取OpenID和用戶(hù)信息
- PHP通過(guò)微信跳轉(zhuǎn)的Code參數(shù)獲取用戶(hù)的openid(關(guān)鍵代碼)
- MVC微信網(wǎng)頁(yè)授權(quán)獲取用戶(hù)OpenId
- ASP.NET Core2靜默獲取微信公眾號(hào)的用戶(hù)OpenId實(shí)例代碼
- 微信公眾平臺(tái)開(kāi)發(fā)教程⑥ 微信開(kāi)發(fā)集成類(lèi)的使用圖文詳解
- 微信公眾平臺(tái)開(kāi)發(fā)教程②微信端分享功能圖文詳解
- 詳解微信圖片防盜鏈“此圖片來(lái)自微信公眾平臺(tái) 未經(jīng)允許不得引用”的解決方案
- PHP封裝的微信公眾平臺(tái)接口開(kāi)發(fā)操作類(lèi)完整示例
- 微信公眾平臺(tái)開(kāi)發(fā)教程①獲取用戶(hù)Openid及個(gè)人信息圖文詳解
相關(guān)文章
Codeigniter實(shí)現(xiàn)智能裁剪圖片的方法
這篇文章主要介紹了Codeigniter實(shí)現(xiàn)智能裁剪圖片的方法,可以做到裁剪后不失真,盡可能保留圖片主題含義。需要的朋友可以參考下2014-06-06
通過(guò)修改配置真正解決php文件上傳大小限制問(wèn)題(nginx+php)
對(duì)于nginx+php的一些網(wǎng)站,上傳文件大小會(huì)受到多個(gè)方面的限制,一個(gè)是nginx本身的限制,限制了客戶(hù)端上傳文件的大小,一個(gè)是php.ini文件中默認(rèn)了多個(gè)地方的設(shè)置。所以為了解決上傳文件大小限定的問(wèn)題必須要做出多處修改。以下整理了幾個(gè)地方。2015-09-09
IP138 IP地址查詢(xún)小偷實(shí)現(xiàn)代碼
下面的代碼是獲取ip138的數(shù)據(jù),并顯示。2010-02-02
Laravel關(guān)聯(lián)模型中過(guò)濾結(jié)果為空的結(jié)果集(has和with區(qū)別)
這篇文章主要介紹了Laravel關(guān)聯(lián)模型中過(guò)濾結(jié)果為空的結(jié)果集(has和with區(qū)別),需要的朋友可以參考下2018-10-10
一個(gè)PHP并發(fā)訪問(wèn)實(shí)例代碼
php其實(shí)也可以執(zhí)行多任務(wù)或并發(fā)訪問(wèn),下面就是網(wǎng)上找來(lái)的一個(gè)關(guān)于PHP并發(fā)訪問(wèn)的例子2012-09-09
超詳細(xì)的php用戶(hù)注冊(cè)頁(yè)面填寫(xiě)信息完整實(shí)例(附源碼)
這篇文章主要介紹了一個(gè)超詳細(xì)的php用戶(hù)注冊(cè)頁(yè)面填寫(xiě)信息完整實(shí)例,內(nèi)容包括郵箱自動(dòng)匹配、密碼強(qiáng)度驗(yàn)證以及防止表單重復(fù)等,小編特別喜歡這篇文章,推薦給大家。2015-11-11
基于Laravel 5.2 regex驗(yàn)證的正確寫(xiě)法
今天小編就為大家分享一篇基于Laravel 5.2 regex驗(yàn)證的正確寫(xiě)法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09
CI框架實(shí)現(xiàn)遞歸生成文件路徑并重新生成圖片功能
這篇文章主要介紹了CI框架實(shí)現(xiàn)遞歸生成文件路徑并重新生成圖片功能,涉及CodeIgniter框架自定義圖片控制器類(lèi)實(shí)現(xiàn)文件目錄遞歸以及調(diào)用圖片處理擴(kuò)展類(lèi)進(jìn)行圖片生成相關(guān)操作技巧,需要的朋友可以參考下2018-06-06
thinkPHP線上自動(dòng)加載異常與修復(fù)方法實(shí)例分析
這篇文章主要介紹了thinkPHP線上自動(dòng)加載異常與修復(fù)方法,結(jié)合實(shí)例形式分析了針對(duì)服務(wù)器代碼不支持斜杠方式的情況下相關(guān)處理技巧,需要的朋友可以參考下2016-12-12

