1. 程式人生 > >微信公眾平臺開發: 獲取使用者基本資訊

微信公眾平臺開發: 獲取使用者基本資訊

本文介紹如何獲得微信公眾平臺關注使用者的基本資訊,包括暱稱、頭像、性別、國家、省份、城市、語言。
本文的方法將囊括訂閱號和服務號以及自定義選單各種場景,無論是否有高階介面許可權,都有辦法來獲得使用者基本資訊,而無需模擬登入。

在本文中,特別要注意的是有兩個不同的Access Token,他們產生的方式不一樣,一種是使用AppID和AppSecret獲取的access_token,一種是OAuth2.0授權中產生的access_token,方倍工作室分別稱為全域性Access Token授權Access Token。

一、通過全域性Access Token獲取使用者基本資訊

1. 使用者關注以及回覆訊息的時候,均可以獲得使用者的OpenID

複製程式碼
<xml>
    <ToUserName><![CDATA[gh_b629c48b653e]]></ToUserName>
    <FromUserName><![CDATA[ollB4jv7LA3tydjviJp5V9qTU_kA]]></FromUserName>
    <CreateTime>1372307736</CreateTime>
    <MsgType><![CDATA[event]]></MsgType>
    <Event
><![CDATA[subscribe]]></Event> <EventKey><![CDATA[]]></EventKey> </xml>
複製程式碼

其中的FromUserName就是OpenID

2. 然後使用access_token介面,請求獲得全域性Access Token

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

返回結果:

{
    "access_token": "NU7Kr6v9L9TQaqm5NE3OTPctTZx797Wxw4Snd2WL2HHBqLCiXlDVOw2l-Se0I-WmOLLniAYLAwzhbYhXNjbLc_KAA092cxkmpj5FpuqNO0IL7bB0Exz5s5qC9Umypy-rz2y441W9qgfnmNtIZWSjSQ",
    "expires_in": 7200
}

3. 再使用全域性ACCESS_TOKEN獲取OpenID的詳細資訊

https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID

返回如下:

複製程式碼
{
    "subscribe": 1,
    "openid": "oLVPpjqs2BhvzwPj5A-vTYAX4GLc",
    "nickname": "刺蝟寶寶",
    "sex": 1,
    "language": "zh_CN",
    "city": "深圳",
    "province": "廣東",
    "country": "中國",
    "headimgurl": "http://wx.qlogo.cn/mmopen/JcDicrZBlREhnNXZRudod9PmibRkIs5K2f1tUQ7lFjC63pYHaXGxNDgMzjGDEuvzYZbFOqtUXaxSdoZG6iane5ko9H30krIbzGv/0",
    "subscribe_time": 1386160805
}
複製程式碼

至此,獲得使用者的基本資訊。