溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

PHP用戶管理中常用接口調(diào)用的示例分析

發(fā)布時間:2021-08-12 12:30:43 來源:億速云 閱讀:175 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹了PHP用戶管理中常用接口調(diào)用的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

一、 獲取微信關(guān)注用戶列表接口調(diào)用實例

接口說明

http請求方式:GET

接口調(diào)用地址:

https://api.weixin.qq.com/cgi-bin/user/get?access_token=ACCESS_TOKEN&next_openid=NEXT_OPENID

請求參數(shù)說明,如表所示:

參數(shù)

是否必須

說明

access_token

調(diào)用接口憑證

next_openid

第一個拉取的OPENID,不填默認從頭開始拉取

返回說明:

正常情況下,微信會返回JSON數(shù)據(jù)包給公眾號,如下所示:

{"total":2,"count":2,"data":{"openid":["","OPENID1","OPENID2"]},"next_openid":"NEXT_OPENID"}

返回信息參數(shù)說明,如表所示:

參數(shù)

說明

total

關(guān)注該公眾賬號的總用戶數(shù)

count

拉取的OPENID個數(shù),最大值為10000

data

列表數(shù)據(jù),OPENID的列表

next_openid

拉取列表的最后一個用戶的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進行接口調(diào)用
$userarr=(array)json_decode(getdata($userurl));
//將返回信息進行處理并輸出
$useropenidarr=(array)$userarr['data'];
print_r($useropenidarr);
?>

代碼解析

require('wei_function.php');包含wei_function.php,該函數(shù)文件可以購買《微信公眾平臺開發(fā)實例教程》,在該書中第95頁有詳細講解?!?/p>

與微信公眾平臺開發(fā)3-微信服務(wù)器IP接口實例(含源碼)的獲取微信服務(wù)器IP一樣,獲取到access_token后,替換

$userurl="https://api.weixin.qq.com/cgi-bin/user/get?access_token=".$token."";

中的access_token參數(shù),并通過getdata()函數(shù)獲取返回的信息,處理后,進行打印,如圖所示。

 PHP用戶管理中常用接口調(diào)用的示例分析

如果關(guān)注用戶大于10000,需多次調(diào)用,只需在接口后增加&next_openid=NEXT_OPENID的參數(shù),NEXT_OPENID會在前一次調(diào)用時返回該值,如:

$userurl="https://api.weixin.qq.com/cgi-bin/user/get?access_token=".$token."&next_openid=NEXT_OPENID";

二、用戶基本信息接口(UnionID機制)調(diào)用實例

在通過獲取關(guān)注用戶列表接口獲取到用戶的OpenID后,可通過該參數(shù)并調(diào)用獲取用戶基本信息(UnionID機制)接口獲取用戶的基本信息,如:昵稱、城市、性別、用戶頭像、是否關(guān)注公眾號等信息,為了更好的了解用戶,需要將這些信息一同保存到數(shù)據(jù)庫中。

接口說明

http請求方式:GET

接口調(diào)用地址:

https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

請求參數(shù)說明,如表所示:

參數(shù)

是否必須

說明

access_token

調(diào)用接口憑證

openid

普通用戶的標識,對當前公眾號唯一

lang

返回國家地區(qū)語言版本,zh_CN 簡體,zh_TW 繁體,en 英語

返回說明:

正常情況下,微信會返回JSON數(shù)據(jù)包給公眾號,如下所示:

{
  "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]
}

返回信息參數(shù)說明,如表所示:

參數(shù)

說明

subscribe

用戶是否訂閱該公眾號標識,值為0時,代表此用戶沒有關(guān)注該公眾號,拉取不到其余信息。

openid

用戶的標識,對當前公眾號唯一

nickname

用戶的昵稱

sex

用戶的性別,值為1時是男性,值為2時是女性,值為0時是未知

city

用戶所在城市

country

用戶所在國家

province

用戶所在省份

language

用戶的語言,簡體中文為zh_CN

headimgurl

用戶頭像,最后一個數(shù)值代表正方形頭像大?。ㄓ?、46、64、96、132數(shù)值可選,0代表640*640正方形頭像),用戶沒有頭像時該項為空。若用戶更換頭像,原有頭像URL將失效。

subscribe_time

用戶關(guān)注時間,為時間戳。如果用戶曾多次關(guān)注,則取最后關(guān)注時間

unionid

只有在用戶將公眾號綁定到微信開放平臺帳號后,才會出現(xiàn)該字段。

remark

公眾號運營者對粉絲的備注,公眾號運營者可在微信公眾平臺用戶管理界面對粉絲添加備注

groupid

用戶所在的分組ID(兼容舊的用戶分組接口)

tagid_list

用戶被打上的標簽ID列表

使用程序調(diào)用接口獲取,代碼:

<?php
/*
 *獲取微信關(guān)注用戶基本信息
*/
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進行接口調(diào)用
$userarr=(array)json_decode(getdata($userurl));
//將返回信息進行處理并輸出
$useropenidarr=(array)$userarr['data'];
foreach ($useropenidarr['openid'] as $value) {
  //循環(huán)獲取用戶基本信息
  $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,該函數(shù)文件可以購買《微信公眾平臺開發(fā)實例教程》,在該書中第95頁有詳細講解。

獲取到用戶OpenID列表后,根據(jù)每條OpenID獲取用戶基本信息,這里用到foreach循環(huán)

foreach ($useropenidarr['openid'] as $value) {
    //循環(huán)獲取用戶基本信息
   $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 />";
}

運行結(jié)果如圖所示。

PHP用戶管理中常用接口調(diào)用的示例分析

如果需要將用戶信息保存到數(shù)據(jù)庫,只需替換print_r($infoarr);為增加數(shù)據(jù)庫的代碼即可,如:

foreach ($useropenidarr['openid'] as $value) {
  //循環(huán)獲取用戶基本信息
  $infourl="https://api.weixin.qq.com/cgi-bin/user/info?access_token=".$token."&openid=".$value."&lang=zh_CN";
  $infoarr=(array)json_decode(getdata($infourl));
  //將用戶信息增加到數(shù)據(jù)庫
   $sql=”insert into userinfo(`nickname`,`sex`,`city`) values
   (‘”.$infoarr[‘nickname'].”','”.$infoarr['sex'].”','”.$infoarr['city'].”')”;
  mysql_query($sql);
}

感謝你能夠認真閱讀完這篇文章,希望小編分享的“PHP用戶管理中常用接口調(diào)用的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI