Maison >développement back-end >tutoriel php >Méthodes appelées par les interfaces couramment utilisées dans la gestion des utilisateurs PHP

Méthodes appelées par les interfaces couramment utilisées dans la gestion des utilisateurs PHP

墨辰丷
墨辰丷original
2018-05-25 09:37:232127parcourir

Cet article présente principalement les méthodes d'appel d'interface courantes dans la gestion des utilisateurs PHP. Les amis intéressés peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

La première étape pour maîtriser les utilisateurs est de sauvegarder les informations des fans que vous avez suivis. À ce stade, vous utiliserez l'interface de la liste des utilisateurs. Le compte public peut obtenir la liste des abonnés du compte via cette interface. La liste des abonnés se compose d'une chaîne d'OpenID (ID WeChat cryptés, l'OpenID de chaque utilisateur pour chaque compte public est unique). Un seul appel pull peut attirer jusqu'à 10 000 OpenID d'abonnés, et vous pouvez tirer plusieurs fois pour répondre à vos besoins.

1. Obtenez WeChat suivant l'exemple d'appel d'interface de liste d'utilisateurs

Description de l'interface

Méthode de requête http : GET

adresse d'appel d'interface :

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

Description du paramètre de requête, comme indiqué dans le tableau :


Oui

. table>

Instructions de retour :

Dans des circonstances normales, WeChat renverra les paquets de données JSON au compte officiel, comme indiqué ci-dessous :

Description des paramètres des informations de retour, comme indiqué dans le tableau :

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

参数

是否必须

说明

access_token

调用接口凭证

next_openid

第一个拉取的OPENID,不填默认从头开始拉取

Paramètres

Est-ce nécessaire

Explication

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

Identifiants de l'interface d'appel

参数

说明

total

关注该公众账号的总用户数

count

拉取的OPENID个数,最大值为10000

data

列表数据,OPENID的列表

next_openid

拉取列表的最后一个用户的OPENID

next_openid

est le premier OPENID extrait par

S'il n'est pas renseigné, il sera extrait de zéro par défaut
<?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);
?>

Paramètres

Instructions

total

Suivez ce compte public Nombre total d'utilisateurs

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

Le nombre d'OPENID extraits , la valeur maximale est de 10000

données

Liste des données, liste des OPENID

next_openid

Extraire l'OPENID du dernier utilisateur de la liste

Utilisez l'interface d'appel du programme pour obtenir, code :

Analyse de code


require('wei_function.php'); contient wei_function.php, ce fichier de fonction peut être acheté à partir du "Tutoriel d'exemple de développement de plate-forme publique WeChat", qui est expliqué en détail à la page 95 du livre.

参数

是否必须

说明

access_token

调用接口凭证

openid

普通用户的标识,对当前公众号唯一

lang

返回国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语

est le même que l'instance d'interface IP du serveur WeChat de développement de la plate-forme publique WeChat (y compris le code source) pour obtenir l'adresse IP du serveur WeChat. Après avoir obtenu le jeton d'accès, remplacez <.> paramètre access_token dans le paramètre et obtenez les informations renvoyées via la fonction getdata() Après le traitement, imprimez-les, comme indiqué sur la figure. Si vous suivez plus de 10 000 utilisateurs et devez l'appeler plusieurs fois, il vous suffit d'ajouter le paramètre &next_openid=NEXT_OPENID après que l'interface NEXT_OPENID renvoie cette valeur dans. l'appel précédent, par exemple:2. Exemple d'appel de l'interface d'information de base de l'utilisateur (mécanisme UnionID) Attirez l'attention Une fois que l'interface de liste d'utilisateurs a obtenu l'OpenID de l'utilisateur, elle peut utiliser ce paramètre et appeler l'interface pour obtenir les informations de base de l'utilisateur (mécanisme UnionID) pour obtenir les informations de base de l'utilisateur, telles que : surnom, ville, sexe, avatar de l'utilisateur, s'il faut suivre le compte public, etc., afin de mieux comprendre les utilisateurs, ces informations doivent être enregistrées dans la base de données. Description de l'interfaceMéthode de requête http : GETAdresse d'appel de l'interface : https://api.weixin.qq.com/cgi-bin /user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CNDescription du paramètre de requête, comme indiqué dans le tableau :
Paramètre S'il est requis Description
access_token est le les informations d'identification de l'interface d'appel
openid sont un utilisateur ordinaire L'identifiant est unique au compte officiel actuel
lang Non Retour à la version linguistique du pays et de la région, zh_CN simplifié, zh_TW traditionnel, en anglais

返回说明:

正常情况下,微信会返回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(&#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数据的方法

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn