微信公眾號開發 - 靜默授權獲取用戶信息

基本概念:

openid是什么,一個微信號與一個公眾號對應一個固定不變的openid。所以一個微信號在一個公眾號下的openid是不變的,如果換了一個對應的公眾號,那就是另一個openid了。且只有在微信自帶瀏覽器中打開的項目才可獲取到。

UnionID是什么,如果開發者擁有多個移動應用,網站應用,公眾號和小程序,可以通過UnionID來區分用戶的唯一性,因為只要是同一個微信開發平臺賬號下的移動應用,網站應用,公眾號和小程序,用戶的UnionID是唯一的。換句話說,同一個用戶,對同一個微信開發平臺的不同應用,UnionID是唯一的。

準備條件,一個公眾號、一個外網可訪問的域名、該公眾號的AppIDAppSecret、設置網頁授權域名(登陸公眾平臺 設置----->公眾號設置------>功能設置----->網頁授權域名 按步驟操作并設置就好),這個域名就是你獲取openid的web項目發布的域名,這里注意服務器請一定跑在80端口。

第一步,獲取code


// 授權訪問鏈接
https://open.weixin.qq.com/connect/oauth2/authorize?appid=XXXXXXXX&redirect_uri=http://test-recycle-h5.jxypapp.com&response_type=code&scope=snsapi_base&state=%7B%22id%22%3D%221%22%2C%22name%22%3A%22xiaoming%22%7D#wechat_redirect

// 授權成功后,重定向鏈接
http://test-recycle-h5.jxypapp.com/?code=0215ZMRH0rVjli29oYTH0exORH05ZMRz&state=%7B%22id%22%3D%221%22%2C%22name%22%3A%22xiaoming%22%7D

參數解釋:

  • appid: 公眾號appid.
  • redirect_uri: 填寫微信識別成功之后,跳轉的url(需要encode編碼)。
  • response_type: 就填code,不用修改。
  • scope: 可填(snsapi_base (靜默授權)和snsapi_userinfo(彈出授權頁面的授權方式)兩個值,其中前者為只獲得openid,不需要用戶授權,后者為獲得用戶信息,需要用戶授權)
  • state: 自定義參數,重定向后會帶上state參數,開發者可以填寫a-zA-Z0-9的參數值,最多128字節(傳json數據需要encode編碼)。
  • #wechat_redirect: 指定在微信內跳轉,平時可以不填,在302重定向時,必須填!

注意事項:

  • redirect_uri需要encode編碼,否則頁面會顯示“redirect_ur參數錯誤!”
  • redirect_uri網址的域名必須是,你在微信公眾平臺賬號中填寫授權回調頁的域名,具體需要登錄微信公眾平臺后臺,在用戶信息那里點擊修改,填上自己的域名即可,注意:授權回調頁中的域名沒有http://

第二步,獲取 openid

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

參數解釋:

  • appid :同上
  • secret :同上
  • code :填寫第一步獲取的code參數
  • grant_type :填寫為authorization_code

注意事項:

  • h5 頁面如果直接調用次接口,可能存在跨域問題,可以讓后臺調用此接口

返回結果:

{ 
"access_token":"ACCESS_TOKEN",    

 "expires_in":7200,    

 "refresh_token":"REFRESH_TOKEN",    

 "openid":"OPENID",    

 "scope":"SCOPE" 
} 

第三步,獲取access_token

access_token是公眾號的全局唯一接口調用憑據,公眾號調用各接口時都需使用access_token。開發者需要進行妥善保存。access_token的存儲至少要保留512個字符空間。access_token的有效期目前為2個小時,需定時刷新,重復獲取將導致上次獲取的access_token失效。

接口說明

https請求方式: GET
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

參數說明

  • grant_type:獲取access_token填寫client_credential
  • appid:第三方用戶唯一憑證
  • secret:第三方用戶唯一憑證密鑰,即appsecret

返回結果

{"access_token":"ACCESS_TOKEN","expires_in":7200}

第四步,獲取用戶信息

接口調用請求說明
http請求方式: GET
https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

參數解釋:

  • access_token 調用接口憑證 ,第三步獲取的access_token
  • openid 普通用戶的標識,對當前公眾號唯一,第二步獲取的openid
  • lang 返回國家地區語言版本,zh_CN 簡體,zh_TW 繁體,en 英語

{
    "subscribe": 1,  // 是否關注此公共號,0-未關注,1-關注
    "openid": "o6_bmjrPTlm6_2sgVt7hMZOPfL2M",  //用戶的標識,對當前公眾號唯一
    "nickname": "Band",  // 用戶的昵稱
    "sex": 1,  //用戶的性別,值為1時是男性,值為2時是女性,值為0時是未知
    "language": "zh_CN",  // 用戶的語言,簡體中文為zh_CN
    "city": "廣州",  // 用戶所在城市
    "province": "廣東",  // 用戶所在省份
    "country": "中國",  // 用戶所在國家
    "headimgurl":"http://thirdwx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/0", //用戶頭像
    "subscribe_time": 1382694957, // 用戶關注時間,為時間戳。如果用戶曾多次關注,則取最后關注時間
    "unionid": " o6_bmasdasdsad6_2sgVt7hMZOPfL" ,//只有在用戶將公眾號綁定到微信開放平臺帳號后,才會出現該字段。
    "remark": "", // 公眾號運營者對粉絲的備注,公眾號運營者可在微信公眾平臺用戶管理界面對粉絲添加備注
    "groupid": 0, // 用戶所在的分組ID(兼容舊的用戶分組接口)
    "tagid_list":[128,2], 用戶被打上的標簽ID列表
    "subscribe_scene": "ADD_SCENE_QR_CODE", //返回用戶關注的渠道來源,ADD_SCENE_SEARCH 公眾號搜索,ADD_SCENE_ACCOUNT_MIGRATION 公眾號遷移,ADD_SCENE_PROFILE_CARD 名片分享,ADD_SCENE_QR_CODE 掃描二維碼,ADD_SCENEPROFILE LINK 圖文頁內名稱點擊,ADD_SCENE_PROFILE_ITEM 圖文頁右上角菜單,ADD_SCENE_PAID 支付后關注,ADD_SCENE_OTHERS 其他
    "qr_scene": 98765,
    "qr_scene_str": ""
}

參考鏈接:

https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140839
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140183

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,967評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,273評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,870評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,742評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,527評論 6 407
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,010評論 1 322
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,108評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,250評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,769評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,656評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,853評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,371評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,103評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,472評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,717評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,487評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,815評論 2 372

推薦閱讀更多精彩內容