Home  >  Article  >  Backend Development  >  Methods called by commonly used interfaces in PHP user management

Methods called by commonly used interfaces in PHP user management

墨辰丷
墨辰丷Original
2018-05-25 09:37:232046browse

This article mainly introduces the common interface calling methods in PHP user management. Interested friends can refer to it. I hope it will be helpful to everyone.

The first step to master users is to save the information of fans you have followed. At this time, you will use the user list interface. The public account can obtain the account's follower list through this interface. The follower list consists of a string of OpenIDs (encrypted WeChat IDs, each user's OpenID for each public account is unique). A single pull call can pull up to 10,000 OpenIDs of followers, and you can pull multiple times to meet your needs.

1. Get the WeChat following user list interface calling example

Interface description

http request method: GET

Interface calling address :

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

Request parameter description, as shown in the table:


Parameters

Is it required

Description

access_token

is the

calling interface credential

next_openid

is the first OPENID pulled by

, if not filled in, it will be pulled from scratch by default

Return instructions:

Under normal circumstances, WeChat will return a JSON data packet to the official account, as follows Shown:

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

Return information parameter description, as shown in the table:

Parameters

Description

##total

Total number of people following this public account Number of users

count

The number of OPENIDs pulled, the maximum value is 10000

data

List data, list of OPENID

next_openid

Get the OPENID of the last user in the pull list

Use the program call interface to obtain, code:

<?php
/*
 *获取微信关注用户列表OpenID
*/
require(&#39;wei_function.php&#39;);
$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[&#39;access_token&#39;];
//获取关注用户列表接口
$userurl="https://api.weixin.qq.com/cgi-bin/user/get?access_token=".$token."";
//通过getdata进行接口调用
$userarr=(array)json_decode(getdata($userurl));
//将返回信息进行处理并输出
$useropenidarr=(array)$userarr[&#39;data&#39;];
print_r($useropenidarr);
?>

Code analysis

require('wei_function.php'); contains wei_function.php. This function file can be purchased from "WeChat Public Platform Development Example Tutorial" ", which is explained in detail on page 95 of the book.

is the same as the WeChat public platform development 3-WeChat server IP interface instance (including source code) for obtaining the WeChat server IP. After obtaining the access_token, replace

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

access_token parameter, and get the return through the getdata() function The information is processed and printed, as shown in the figure.

If the following users are more than 10,000 and need to be called multiple times, just add the parameter &next_openid=NEXT_OPENID after the interface. NEXT_OPENID will return this value in the previous call, such as :

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

2. User basic information interface (UnionID mechanism) calling example

Get the list of following users After the interface obtains the user's OpenID, it can use this parameter and call the interface to obtain the user's basic information (UnionID mechanism) to obtain the user's basic information, such as: nickname, city, gender, user avatar, whether to follow the official account, etc., in order to better To understand the user, this information needs to be saved together in the database.

Interface Description

http request method: GET

Interface calling address:

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

Request parameter description, as shown in the table:


# #lang

返回说明:

正常情况下,微信会返回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]
}

返回信息参数说明,如表所示:


Parameter

Is it necessary

Description

access_token

is the

calling interface credential

openid

is the identifier of an ordinary user

, unique to the current public account

##No

Return to the country and region language version, zh_CN simplified, zh_TW traditional, en English

参数

说明

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(&#39;wei_function.php&#39;);
$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[&#39;access_token&#39;];
//获取关注用户列表接口
$userurl="https://api.weixin.qq.com/cgi-bin/user/get?access_token=".$token."";
//通过getdata进行接口调用
$userarr=(array)json_decode(getdata($userurl));
//将返回信息进行处理并输出
$useropenidarr=(array)$userarr[&#39;data&#39;];
foreach ($useropenidarr[&#39;openid&#39;] 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[&#39;openid&#39;] 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[&#39;openid&#39;] 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&#39;].”&#39;,&#39;”.$infoarr[&#39;sex&#39;].”&#39;,&#39;”.$infoarr[&#39;city&#39;].”&#39;)”;
  mysql_query($sql);
}

以上就是本文的全部内容,希望对大家的学习有所帮助。


相关推荐:

PHP基于接口技术实现多态应用的方法

PHP接口多继承和tarits实现多继承效果的方法教程详情

php实现app接口并返回json数据的方法

The above is the detailed content of Methods called by commonly used interfaces in PHP user management. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn