掌握用戶的第一步就是將已經關注的粉絲信息保存起來,這個時候就用到獲取用戶列表接口。公眾號可通過本接口來獲取帳號的關注者列表,關注者列表由一串OpenID(加密后的微信號,每個用戶對每個公眾號的OpenID是唯一的)組成。一次拉取調用最多拉取10000個關注者的OpenID,可以通過多次拉取的方式來滿足需求。
一、 獲取微信關注用戶列表接口調用實例
接口說明
http請求方式:GET
接口調用地址:
https://api.weixin.qq.com/cgi-bin/user/get?access_token=ACCESS_TOKEN&next_openid=NEXT_OPENID
請求參數說明,如表所示:
參數 |
是否必須 |
說明 |
access_token |
是 |
調用接口憑證 |
next_openid |
是 |
第一個拉取的OPENID,不填默認從頭開始拉取 |
返回說明:
正常情況下,微信會返回JSON數據包給公眾號,如下所示:
{"total":2,"count":2,"data":{"openid":["","OPENID1","OPENID2"]},"next_openid":"NEXT_OPENID"}
返回信息參數說明,如表所示:
參數 |
說明 |
total |
關注該公眾賬號的總用戶數 |
count |
拉取的OPENID個數,最大值為10000 |
data |
列表數據,OPENID的列表 |
next_openid |
拉取列表的最后一個用戶的OPENID |
使用程序調用接口獲取,代碼:
<?php /* *獲取微信關注用戶列表OpenID */ require('wei_function.php'); $appid="wx78478e595939c538"; $secret="5540e8ccab4f71dfad752f73cfb85780"; $url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$secret.""; $output=getdata($url); $tokenarr=(array)json_decode($output); $token=$tokenarr['access_token']; //獲取關注用戶列表接口 $userurl="https://api.weixin.qq.com/cgi-bin/user/get?access_token=".$token.""; //通過getdata進行接口調用 $userarr=(array)json_decode(getdata($userurl)); //將返回信息進行處理并輸出 $useropenidarr=(array)$userarr['data']; print_r($useropenidarr); ?>
代碼解析
require('wei_function.php');包含wei_function.php,該函數文件可以購買《微信公眾平臺開發實例教程》,在該書中第95頁有詳細講解。
與微信公眾平臺開發3-微信服務器IP接口實例(含源碼)的獲取微信服務器IP一樣,獲取到access_token后,替換
$userurl="https://api.weixin.qq.com/cgi-bin/user/get?access_token=".$token."";
中的access_token參數,并通過getdata()函數獲取返回的信息,處理后,進行打印,如圖所示。
如果關注用戶大于10000,需多次調用,只需在接口后增加&next_openid=NEXT_OPENID的參數,NEXT_OPENID會在前一次調用時返回該值,如:
$userurl="https://api.weixin.qq.com/cgi-bin/user/get?access_token=".$token."&next_openid=NEXT_OPENID";
二、用戶基本信息接口(UnionID機制)調用實例
在通過獲取關注用戶列表接口獲取到用戶的OpenID后,可通過該參數并調用獲取用戶基本信息(UnionID機制)接口獲取用戶的基本信息,如:昵稱、城市、性別、用戶頭像、是否關注公眾號等信息,為了更好的了解用戶,需要將這些信息一同保存到數據庫中。
接口說明
http請求方式:GET
接口調用地址:
https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
請求參數說明,如表所示:
參數 |
是否必須 |
說明 |
access_token |
是 |
調用接口憑證 |
openid |
是 |
普通用戶的標識,對當前公眾號唯一 |
lang |
否 |
返回國家地區語言版本,zh_CN 簡體,zh_TW 繁體,en 英語 |
返回說明: