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