微信公衆號 — 獲取用戶信息

微信公衆號測試地址:https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index

微信公衆號官方文檔:https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Overview.html

UrlEncode編碼:http://tool.chinaz.com/tools/urlencode.aspx


需要注意的點:

1.JS接口安全域名填寫,需要與加密的URL相同,如:www.baidu.com

2.授權回調頁面域名填寫,公衆號只能填寫一個回調地址,如果需要根據不同場景跳轉多個地址,可以嘗試使用ng進行轉發,從而實現業務要求。

3.獲取用戶信息,獲取用戶信息有兩種方式,

    3.1關注公衆號,這種方式可以使用基礎的accessToken,還可以通過騰訊提供的方法,獲取關注公衆號的所有用戶信息(每次最多查詢10000條)。具體實現方法參考微信官方接口文檔。

    3.2用戶授權,這種方式需要在頁面跳轉的時候,用戶手動授權,從而獲取用戶信息。這種方式每個用戶都有一個對應的accessToken。

    獲取用戶信息的步驟:

        a、跳轉活動頁面如:https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx55abf1c9ba78e3a4&redirect_uri=http%3a%2f%2www.baidu.com&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect,打開活動頁面會進到用戶授權頁面,redirect_uri地址需要使用http://tool.chinaz.com/tools/urlencode.aspx工具進行加密。

        b、授權成功後,會跳轉到指定的回調頁面,如步驟a中redirect_uri的地址,此時,微信會在url後拼接上一個code,每次打開頁面的code都不相同,並且只能用一次,5分鐘內有效。跳轉後的鏈接如:www.baidu.com?code=081yeMp41Gf11Q1klom41hyeMpR

        c、得到code後,使用code,appid,appsecret,grant_type=authorization_code進行查access_token,和openid(公衆號內用戶唯一),如:https://api.weixin.qq.com/sns/oauth2/access_token?appid=wx55abf1c923wef2ergre3a4&secret=be48ce00b31f7cf71792201facsdfseed6&code=081yeMp41Gf11Q1klom41hA6q41yeMpR&grant_type=authorization_code

        d、根據accessToken,openid查詢用戶信息,包括頭像圖片地址,暱稱,城市等信息。如:https://api.weixin.qq.com/sns/userinfo?access_token=29_9kn6a0LMy04aMQFTkyu776DlfRlO4D7vhlu8gho4Umrc68KYm7Gt5OZYIYIr_2JV_2j8lpJzkiVfEIHYAaa1U-5jQPkEbdelXtifH_ZRMGQ&openid=ouzllwVhx9g_l-2sdfsdf52523f523fk&lang=zh_CN

最後需要注意的是,在測試公衆號環境下,不論哪種授權方式都需要關注公衆號。到正式生產環境,用戶授權這種方式無需再關注公衆號。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章