您好,登錄后才能下訂單哦!
這篇文章主要介紹了PHP用戶管理中常用接口調用的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
一、 獲取微信關注用戶列表接口調用實例
接口說明
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 英語 |
返回說明:
正常情況下,微信會返回JSON數據包給公眾號,如下所示:
{ "subscribe": 1, "openid": "o6_bmjrPTlm6_2sgVt7hMZOPfL2M", "nickname": "Band", "sex": 1, "language": "zh_CN", "city": "廣州", "province": "廣東", "country": "中國", "headimgurl": "http://wx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4 eMsv84eavHiaiceqxibJxCfHe/0", "subscribe_time": 1382694957, "unionid": " o6_bmasdasdsad6_2sgVt7hMZOPfL" "remark": "", "groupid": 0, "tagid_list":[128,2] }
返回信息參數說明,如表所示:
參數 | 說明 |
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列表 |
使用程序調用接口獲取,代碼:
<?php /* *獲取微信關注用戶基本信息 */ 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']; foreach ($useropenidarr['openid'] as $value) { //循環獲取用戶基本信息 $infourl="https://api.weixin.qq.com/cgi-bin/user/info?access_token=".$token."&openid=".$value."&lang=zh_CN"; $infoarr=(array)json_decode(getdata($infourl)); print_r($infoarr); echo "<br />"; } ?>
代碼解析
require('wei_function.php');包含wei_function.php,該函數文件可以購買《微信公眾平臺開發實例教程》,在該書中第95頁有詳細講解。
獲取到用戶OpenID列表后,根據每條OpenID獲取用戶基本信息,這里用到foreach循環
foreach ($useropenidarr['openid'] as $value) { //循環獲取用戶基本信息 $infourl="https://api.weixin.qq.com/cgi-bin/user/info?access_token=".$token."&openid=".$value."&lang=zh_CN"; $infoarr=(array)json_decode(getdata($infourl)); print_r($infoarr); echo "<br />"; }
運行結果如圖所示。
如果需要將用戶信息保存到數據庫,只需替換print_r($infoarr);為增加數據庫的代碼即可,如:
foreach ($useropenidarr['openid'] as $value) { //循環獲取用戶基本信息 $infourl="https://api.weixin.qq.com/cgi-bin/user/info?access_token=".$token."&openid=".$value."&lang=zh_CN"; $infoarr=(array)json_decode(getdata($infourl)); //將用戶信息增加到數據庫 $sql=”insert into userinfo(`nickname`,`sex`,`city`) values (‘”.$infoarr[‘nickname'].”','”.$infoarr['sex'].”','”.$infoarr['city'].”')”; mysql_query($sql); }
感謝你能夠認真閱讀完這篇文章,希望小編分享的“PHP用戶管理中常用接口調用的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。