在關注者與公眾號產生消息交互后,公眾號可獲得關注者的OpenID(加密后的微信號,每個用戶對每個公眾號的OpenID是唯一的。對於不同公眾號,同一用戶的openid不同)。公眾號可通過本接口來根據OpenID獲取用戶基本信息,包括昵稱、頭像、性別、所在城市、語言和關注時間。
請注意,如果開發者有在多個公眾號,或在公眾號、移動應用之間統一用戶帳號的需求,需要前往微信開放平台(open.weixin.qq.com)綁定公眾號后,才可利用UnionID機制來滿足上述需求。
UnionID機制說明:
開發者可通過OpenID來獲取用戶基本信息。特別需要注意的是,如果開發者擁有多個移動應用、網站應用和公眾帳號,可通過獲取用戶基本信息中的unionid來區分用戶的唯一性,因為只要是同一個微信開放平台帳號下的移動應用、網站應用和公眾帳號,用戶的unionid是唯一的。換句話說,同一用戶,對同一個微信開放平台下的不同應用,unionid是相同的。
請求地址為:
接口調用請求說明
http請求方式: GET https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
需要兩個參數 一個是 access_token 一個是openid
參數說明如下:
返回結果:
參數 | 說明 |
subscribe | 用戶是否訂閱該公眾號標識,值為0時,代表此用戶沒有關注該公眾號,拉取不到其余信息。 |
openid | 用戶的標識,對當前公眾號唯一 |
nickname | 用戶的昵稱 |
sex | 用戶的性別,值為1時是男性,值為2時是女性,值為0時是未知 |
city | 用戶所在城市 |
country | 用戶所在國家 |
province | 用戶所在省份 |
language | 用戶的語言,簡體中文為zh_CN |
headimgurl | 用戶頭像,最后一個數值代表正方形頭像大小(有0、46、64、96、132數值可選,0代表640*640正方形頭像),用戶沒有頭像時該項為空。若用戶更換頭像,原有頭像URL將失效。 |
subscribe_time | 用戶關注時間,為時間戳。如果用戶曾多次關注,則取最后關注時間 |
unionid | 只有在用戶將公眾號綁定到微信開放平台帳號后,才會出現該字段。 |
remark | 公眾號運營者對粉絲的備注,公眾號運營者可在微信公眾平台用戶管理界面對粉絲添加備注 |
groupid | 用戶所在的分組ID(兼容舊的用戶分組接口) |
tagid_list | 用戶被打上的標簽ID列表 |
錯誤時微信會返回錯誤碼等信息,JSON數據包示例如下(該示例為AppID無效錯誤):
{"errcode":40013,"errmsg":"invalid appid"}
代碼如下:
返回結果如下:
即可獲取到用戶的基本信息。
如果想修改用戶的備注又該如何做呢?備注是 remark字段。可以調用修改備注的接口:
http請求方式: POST(請使用https協議)
https://api.weixin.qq.com/cgi-bin/user/info/updateremark?access_token=ACCESS_TOKEN
返回說明:
調用該接口代碼如下:
返回結果如下:
此時再次調用 get_user_info 方法獲取用戶信息查看一下 結果如圖
好了,本章獲取用戶基本信息並且修改用戶備注的功能就講解到這里。