《PHP教程:PHP用戶管理中常用接口調用實例及解析(含源碼)》要點:
本文介紹了PHP教程:PHP用戶管理中常用接口調用實例及解析(含源碼),希望對您有用。如果有疑問,可以聯系我們。
PHP學習掌握用戶的第一步就是將已經關注的粉絲信息保存起來,這個時候就用到獲取用戶列表接口.公眾號可通過本接口來獲取帳號的關注者列表,關注者列表由一串OpenID(加密后的微信號,每個用戶對每個公眾號的OpenID是唯一的)組成.一次拉取調用最多拉取10000個關注者的OpenID,可以通過多次拉取的方式來滿足需求.
PHP學習一、 獲取微信關注用戶列表接口調用實例
PHP學習接口說明
PHP學習http請求方式:GET
PHP學習接口調用地址:
PHP學習https://api.weixin.qq.com/cgi-bin/user/get?access_token=ACCESS_TOKEN&next_openid=NEXT_OPENID
PHP學習請求參數說明,如表所示:
PHP學習參數 |
PHP學習是否必須 |
PHP學習說明 |
PHP學習access_token |
PHP學習是 |
PHP學習調用接口憑證 |
PHP學習next_openid |
PHP學習是 |
PHP學習第一個拉取的OPENID,不填默認從頭開始拉取 |
PHP學習返回說明:
PHP學習正常情況下,微信會返回JSON數據包給公眾號,如下所示:
PHP學習{"total":2,"count":2,"data":{"openid":["","OPENID1","OPENID2"]},"next_openid":"NEXT_OPENID"}
PHP學習返回信息參數說明,如表所示:
PHP學習?
PHP學習參數 |
PHP學習說明 |
PHP學習total |
PHP學習關注該公眾賬號的總用戶數 |
PHP學習count |
PHP學習拉取的OPENID個數,最大值為10000 |
PHP學習data |
PHP學習列表數據,OPENID的列表 |
PHP學習next_openid |
PHP學習拉取列表的最后一個用戶的OPENID |
PHP學習使用程序調用接口獲取,代碼:
PHP學習
<?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);
?>
PHP學習代碼解析
PHP學習require('wei_function.php');包含wei_function.php,該函數文件可以購買《微信公眾平臺開發實例教程》,在該書中第95頁有詳細講解.
PHP學習與微信公眾平臺開發3-微信服務器IP接口實例(含源碼)的獲取微信服務器IP一樣,獲取到access_token后,替換
PHP學習$userurl="https://api.weixin.qq.com/cgi-bin/user/get?access_token=".$token."";
PHP學習中的access_token參數,并通過getdata()函數獲取返回的信息,處理后,進行打印,如圖所示.
PHP學習?
PHP學習如果關注用戶大于10000,需多次調用,只需在接口后增加&next_openid=NEXT_OPENID的參數,NEXT_OPENID會在前一次調用時返回該值,如:
PHP學習
$userurl="https://api.weixin.qq.com/cgi-bin/user/get?access_token=".$token."&next_openid=NEXT_OPENID";
PHP學習二、用戶基本信息接口(UnionID機制)調用實例
PHP學習在通過獲取關注用戶列表接口獲取到用戶的OpenID后,可通過該參數并調用獲取用戶基本信息(UnionID機制)接口獲取用戶的基本信息,如:昵稱、城市、性別、用戶頭像、是否關注公眾號等信息,為了更好的了解用戶,需要將這些信息一同保存到數據庫中.
PHP學習接口說明
PHP學習http請求方式:GET
PHP學習接口調用地址:
PHP學習https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
PHP學習請求參數說明,如表所示:
PHP學習參數 |
PHP學習是否必須 |
PHP學習說明 |
PHP學習access_token |
PHP學習是 |
PHP學習調用接口憑證 |
PHP學習openid |
PHP學習是 |
PHP學習普通用戶的標識,對當前公眾號唯一 |
PHP學習lang |
PHP學習否 |
PHP學習返回國家地區語言版本,zh_CN 簡體,zh_TW 繁體,en 英語 |
PHP學習返回說明:
PHP學習正常情況下,微信會返回JSON數據包給公眾號,如下所示:
PHP學習
{
"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]
}
PHP學習返回信息參數說明,如表所示:
PHP學習參數 |
PHP學習說明 |
PHP學習subscribe |
PHP學習用戶是否訂閱該公眾號標識,值為0時,代表此用戶沒有關注該公眾號,拉取不到其余信息. |
PHP學習openid |
PHP學習用戶的標識,對當前公眾號唯一 |
PHP學習nickname |
PHP學習用戶的昵稱 |
PHP學習sex |
PHP學習用戶的性別,值為1時是男性,值為2時是女性,值為0時是未知 |
PHP學習city |
PHP學習用戶所在城市 |
PHP學習country |
PHP學習用戶所在國家 |
PHP學習province |
PHP學習用戶所在省份 |
PHP學習language |
PHP學習用戶的語言,簡體中文為zh_CN |
PHP學習headimgurl |
PHP學習用戶頭像,最后一個數值代表正方形頭像大小(有0、46、64、96、132數值可選,0代表640*640正方形頭像),用戶沒有頭像時該項為空.若用戶更換頭像,原有頭像URL將失效. |
PHP學習subscribe_time |
PHP學習用戶關注時間,為時間戳.如果用戶曾多次關注,則取最后關注時間 |
PHP學習unionid |
PHP學習只有在用戶將公眾號綁定到微信開放平臺帳號后,才會出現該字段. |
PHP學習remark |
PHP學習公眾號運營者對粉絲的備注,公眾號運營者可在微信公眾平臺用戶管理界面對粉絲添加備注 |
PHP學習groupid |
PHP學習用戶所在的分組ID(兼容舊的用戶分組接口) |
PHP學習tagid_list |
PHP學習用戶被打上的標簽ID列表 |
PHP學習使用程序調用接口獲取,代碼:
PHP學習
<?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 />";
}
?>
PHP學習代碼解析
PHP學習require('wei_function.php');包含wei_function.php,該函數文件可以購買《微信公眾平臺開發實例教程》,在該書中第95頁有詳細講解.
PHP學習獲取到用戶OpenID列表后,根據每條OpenID獲取用戶基本信息,這里用到foreach循環
PHP學習
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 />";
}
PHP學習運行結果如圖所示.
PHP學習
PHP學習如果需要將用戶信息保存到數據庫,只需替換print_r($infoarr);為增加數據庫的代碼即可,如:
PHP學習
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學習以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持維易PHP!
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/1502.html