最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信公眾號(hào)-獲取用戶信息(網(wǎng)頁(yè)授權(quán)獲取)實(shí)現(xiàn)步驟

 更新時(shí)間:2016年10月21日 15:26:43   投稿:lqh  
這篇文章主要介紹了微信公眾號(hào)-獲取用戶信息(網(wǎng)頁(yè)授權(quán)獲取)實(shí)現(xiàn)步驟的相關(guān)資料,需要的朋友可以參考下

根據(jù)微信公眾號(hào)開(kāi)發(fā)官方文檔:

獲取用戶信息步驟如下:

1 第一步:用戶同意授權(quán),獲取code
2 第二步:通過(guò)code換取網(wǎng)頁(yè)授權(quán)access_token
3 第三步:刷新access_token(如果需要)
4 第四步:拉取用戶信息(需scope為 snsapi_userinfo)

1 獲取code

在確保微信公眾賬號(hào)擁有授權(quán)作用域(scope參數(shù))的權(quán)限的前提下(服務(wù)號(hào)獲得高級(jí)接口后,默認(rèn)擁有scope參數(shù)中的snsapi_base和snsapi_userinfo),引導(dǎo)關(guān)注者打開(kāi)如下頁(yè)面:

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

若提示“該鏈接無(wú)法訪問(wèn)”,請(qǐng)檢查參數(shù)是否填寫錯(cuò)誤,是否擁有scope參數(shù)對(duì)應(yīng)的授權(quán)作用域權(quán)限。

尤其注意:由于授權(quán)操作安全等級(jí)較高,所以在發(fā)起授權(quán)請(qǐng)求時(shí),微信會(huì)對(duì)授權(quán)鏈接做正則強(qiáng)匹配校驗(yàn),如果鏈接的參數(shù)順序不對(duì),授權(quán)頁(yè)面將無(wú)法正常訪問(wèn)

其中:

AppID - 公眾號(hào)的唯一標(biāo)識(shí)
REDIRECT_URI - 跳轉(zhuǎn)url
SCOPE - 值為snsapi_base(不彈出授權(quán)頁(yè)面,直接跳轉(zhuǎn),只能獲取用戶openid) 或snsapi_userinfo (彈 出授權(quán)頁(yè)面,可通過(guò)openid拿到昵稱、性別、所在地。并且,即使在未關(guān)注的情況下,只要用戶授權(quán),也能獲取其信息)
STATE - 開(kāi)發(fā)者可以自定義填寫a-zA-Z0-9的參數(shù)值

2 通過(guò)code換取網(wǎng)頁(yè)授權(quán)access_token

如果用戶同意授權(quán),頁(yè)面將跳轉(zhuǎn)至 redirect_uri/?code=CODE&state=STATE。
state就是上面的STATE參數(shù)原樣傳過(guò)來(lái)的

實(shí)現(xiàn)代碼:

<code class="hljs php">$code = I('get.code');
if (empty($code)) {
   //todo 非微信訪問(wèn)
   exit('</code>');
 }else{ //授權(quán)后操作 }

在這里我們就可以得到code用作后續(xù)的獲取access_token。

獲取code后,請(qǐng)求以下鏈接獲取access_token:

 https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

appid - 公眾號(hào)的唯一標(biāo)識(shí)
secret - 密鑰
code - 上述所返回的code
grant_type - 值為authorization_code

實(shí)現(xiàn)代碼:

<code class="hljs bash">$url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' . C('wechat.AppID') . '&secret=' . C('wechat.AppSecret');
$str = file_get_contents($url);
$str = json_decode($str, true);
$access_token = $str['access_token'];</code>

這里access_token可以做緩存處理,避免造成頻繁獲取
實(shí)現(xiàn)代碼,以TP框架為例:

<code class="hljs php">$access_token = S('access_token');
if (empty($access_token)) {
  $url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' . C('wechat.AppID') . '&secret=' . C('wechat.AppSecret');
  $str = file_get_contents($url);
  $str = json_decode($str, true);
  $access_token = $str['access_token'];
  S('access_token', $access_token, 3600);
}</code>

在獲取access_token后,也會(huì)一并返回openid(用戶唯一標(biāo)識(shí)),微信官方文檔的解釋是:用戶唯一標(biāo)識(shí),請(qǐng)注意,在未關(guān)注公眾號(hào)時(shí),用戶訪問(wèn)公眾號(hào)的網(wǎng)頁(yè),也會(huì)產(chǎn)生一個(gè)用戶和公眾號(hào)唯一的OpenID

openid是唯一標(biāo)識(shí)微信用戶的,如果用戶不是第一次登陸,可以在得到openid后查詢數(shù)據(jù)庫(kù)是否有綁定此openid的用戶,之后就無(wú)需重新獲取用戶數(shù)據(jù),直接獲取的數(shù)據(jù)庫(kù)user_id設(shè)置session,直接登陸訪問(wèn)

3 第三步忽略,只在需要的時(shí)間重新獲取access_token而已

4 拉取用戶信息(需scope為 snsapi_userinfo)

在數(shù)據(jù)庫(kù)無(wú)此微信號(hào)用戶的綁定下,就相當(dāng)于用戶首次訪問(wèn)登陸,則通過(guò)第四步來(lái)獲取用戶信息(在用戶授權(quán)情況下,網(wǎng)頁(yè)授權(quán)作用域?yàn)閟nsapi_userinfo,則此時(shí)開(kāi)發(fā)者可以通過(guò)access_token和openid拉取用戶信息了),然后后臺(tái)創(chuàng)建user并綁定此微

信用戶(通過(guò)openid)

請(qǐng)求方法

http:GET(請(qǐng)使用https協(xié)議) https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

access_token - 上述所獲取的access_token
openid - 公眾號(hào)唯一標(biāo)識(shí)

實(shí)現(xiàn)代碼:

<code class="hljs php">$url = "https://api.weixin.qq.com/cgi-bin/user/info?access_token=$access_token&openid=$openid&lang=zh_CN";
$str = file_get_contents($url);
$str = json_decode($str, true);
if (empty($str['errcode'])) {
  //創(chuàng)建user并綁定openid
}else{
  //錯(cuò)誤處理
}</code>

以上就是微信公眾號(hào)獲取用戶信息的具體步驟。

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • JS實(shí)現(xiàn)的簡(jiǎn)單折疊展開(kāi)動(dòng)畫效果示例

    JS實(shí)現(xiàn)的簡(jiǎn)單折疊展開(kāi)動(dòng)畫效果示例

    這篇文章主要介紹了JS實(shí)現(xiàn)的簡(jiǎn)單折疊展開(kāi)動(dòng)畫效果,可實(shí)現(xiàn)類似百度頁(yè)面分享按鈕一樣的折疊展開(kāi)動(dòng)畫效果,涉及javascript頁(yè)面元素屬性動(dòng)態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2018-04-04
  • uniapp圖片展示自適應(yīng)等比例縮放方法舉例

    uniapp圖片展示自適應(yīng)等比例縮放方法舉例

    這篇文章主要給大家介紹了關(guān)于uniapp圖片展示自適應(yīng)等比例縮放方法的相關(guān)資料,在uniapp頁(yè)面展示中會(huì)遇到圖片展示問(wèn)題,等比縮放或者自適應(yīng)view大小,需要的朋友可以參考下
    2023-10-10
  • js三種排序算法分享

    js三種排序算法分享

    近來(lái)無(wú)聊,翻出來(lái)大學(xué)時(shí)候的數(shù)據(jù)結(jié)構(gòu)教材來(lái)看。突然想起,大學(xué)時(shí)候就想過(guò)用js實(shí)現(xiàn)基本的排序算法的事情,反正閑來(lái)無(wú)事,便寫出來(lái)后記錄于此
    2012-08-08
  • JS實(shí)現(xiàn)漢字與Unicode碼相互轉(zhuǎn)換的方法詳解

    JS實(shí)現(xiàn)漢字與Unicode碼相互轉(zhuǎn)換的方法詳解

    這篇文章主要介紹了JS實(shí)現(xiàn)漢字與Unicode碼相互轉(zhuǎn)換的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了javascript針對(duì)漢字與Unicode編碼轉(zhuǎn)換的操作技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2017-04-04
  • 僅用[]()+!等符號(hào)就足以實(shí)現(xiàn)幾乎任意Javascript代碼

    僅用[]()+!等符號(hào)就足以實(shí)現(xiàn)幾乎任意Javascript代碼

    僅用一些符號(hào)就足以實(shí)現(xiàn)幾乎任意Javascript代碼的方法,比較怪異,對(duì)于特殊需要可能用得到。
    2010-03-03
  • JSON 數(shù)據(jù)詳解及實(shí)例代碼分析

    JSON 數(shù)據(jù)詳解及實(shí)例代碼分析

    這篇文章主要介紹了JSON 數(shù)據(jù)詳解及實(shí)例代碼分析的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • CocosCreator ScrollView優(yōu)化系列之分幀加載

    CocosCreator ScrollView優(yōu)化系列之分幀加載

    這篇文章主要介紹了CocosCreator ScrollView的優(yōu)化,從分幀加載進(jìn)行了講解,對(duì)性能優(yōu)化感興趣的同學(xué),一定要看一下
    2021-04-04
  • javascript實(shí)現(xiàn)自定義滾動(dòng)條效果

    javascript實(shí)現(xiàn)自定義滾動(dòng)條效果

    這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)自定義滾動(dòng)條效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • bootstrap Table插件使用demo

    bootstrap Table插件使用demo

    本篇文章主要介紹了bootstrap Table插件使用demo,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • JSON無(wú)限折疊菜單編寫實(shí)例

    JSON無(wú)限折疊菜單編寫實(shí)例

    這篇文章主要介紹了JSON無(wú)限折疊菜單編寫實(shí)例,有需要的朋友可以參考一下
    2013-12-12

最新評(píng)論

寿宁县| 饶河县| 台东市| 怀远县| 鄢陵县| 龙岩市| 五台县| 乌审旗| 托里县| 娱乐| 建平县| 太和县| 黔西| 大足县| 瑞安市| 股票| 温泉县| 隆安县| 辽阳县| 大理市| 青阳县| 玛曲县| 阳山县| 商都县| 商水县| 乌恰县| 沙洋县| 岐山县| 阿巴嘎旗| 壤塘县| 定州市| 临颍县| 通海县| 同江市| 巴东县| 略阳县| 屏边| 松原市| 恩平市| 教育| 吉林省|