使用微信公眾平台測試賬號開發“網頁授權獲取用戶基本信息”功能


眾所周知,微信公眾號分為訂閱號、服務號和企業號。撇開企業號不談,雖然只有服務號能夠通過微信接口獲得用戶級別信息(特別是針對每個公眾號唯一的openId),但我們可以仍可以在未認證的訂閱號中通過平台測試號開發測試用戶基本信息。

微信第三方登錄的原理和流程不再贅述,下面說明一下測試號開發的過程。

首先打開測試頁面,先登錄任一類型的公眾號(包括未認證的),在左側菜單找到 開發-->開發者工具,進入“公眾平台測試賬號”,這里時需要刷微信認證的二維碼(任一微信賬戶都可以,與登錄微信公眾平台的賬號無關)。

在測試管理的界面,可以得到你的微信對應測試賬號的appId和appSecret的值。

接下來的接口配置URL,是需要在我們自己服務上實現的servlet服務的url,具體的實現代碼參考這篇文章:http://www.jb51.net/article/78305.htm。注意,該servlet必須能夠被外網訪問;如果部署到正式公眾號的話,還需要域名。Token填寫任意的字符串,同時請務必確保servlet中的token參數與它保持一致。

“JS接口安全域名”中填寫訪問servlet的外網IP或者域名。

接下來把頁面拉倒最下面,找到“體驗接口權限表”中的 網頁帳號-->網頁授權獲取用戶基本信息 一項,點擊“修改”連接,將訪問servlet的外網IP或者域名也填寫在這里。

使用手機掃描“測試號二維碼”,就進入了該測試號對應的微信公眾號,這時會發現公眾號里沒有任何菜單,我們還需要配置菜單,但是並沒有可視化設置菜單的地方,需要通過測試接口才能在測試公眾號上增加菜單。

打開第一步中的的 開發-->開發者工具,進入“在線接口調試工具”。

1)獲取access_token:頁面默認就是該接口,輸入我們測試賬號的appId和appSecret,就得到了access_token,請注意,它是有有效期的;

2)選擇接口類型是“自定義菜單”,可以通過json格式建立菜單,先填寫剛剛得到的access_token,在body中按如下格式輸入創建菜單的json:

{
    "button": [
        {
            "type": "click",
            "name": "流金歲月",
            "key": "V1001_TODAY_MUSIC",
            "sub_button": []
        },
        {
            "name": "菜單",
            "sub_button": [
                {
                    "type": "view",
                    "name": "登錄",
                    "url": "loginUrl",
                    "sub_button": []
                }
            ]
        }
    ]
}

其中的loginUrl替換成微信第三方鑒權回調登錄的url,格式是https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect,這里的 REDIRECT_URI 就是我們自己開發的中間servlet。在servlet中獲取到微信平台賦予的code,再調用https://api.weixin.qq.com/sns/oauth2/access_token?appid=%s&secret=%s&code=%s&grant_type=authorization_code接口,在返回結果中即可獲取openId,更詳細的交互流程在微信的開發接口說明中都有詳細介紹。

最終,在測試公眾號中即可通過菜單測試登錄頁面。

 

轉自:http://www.cnblogs.com/rexSky/p/5691986.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM