Table des matières
1. Configuration de la plateforme publique WeChat
1. Obtenez l'appid, appsecret, ajoutez la liste blanche
Ajouter une autorisation de page Web
2. Implémentation du backend PHP
1. Obtenir un jeton global
2. Obtenez l'openid du compte public associé à l'utilisateur
3 Obtenir les informations de l'utilisateur
Maison Applet WeChat Développement WeChat Le code reste simple à utiliser et vous pouvez déterminer si l'utilisateur a suivi le compte officiel en quelques étapes seulement.

Le code reste simple à utiliser et vous pouvez déterminer si l'utilisateur a suivi le compte officiel en quelques étapes seulement.

Jul 25, 2018 pm 03:04 PM
javascript php 公众号 关注 微信

De nombreuses activités d'aujourd'hui incitent les utilisateurs à suivre des comptes publics afin de participer aux activités. Comment juger si les utilisateurs ont suivi des comptes publics est en fait très simple. Suivez cet article et vous n'aurez plus à vous inquiéter du code php. dans cet article est très simple expliqué en détail.

1. Configuration de la plateforme publique WeChat

1. Obtenez l'appid, appsecret, ajoutez la liste blanche

Connectez-vous à la plateforme publique WeChat et entrez la configuration de base. Deux paramètres doivent être utilisés dans le développement, appId et appSecret (appSecret n'est affiché qu'une seule fois et doit être enregistré, sinon il doit être réinitialisé et obtenu).
Vous devez ajouter une liste blanche IP lors de l'obtention d'access_token.
Le code reste simple à utiliser et vous pouvez déterminer si lutilisateur a suivi le compte officiel en quelques étapes seulement.

Cliquez pour voir

Le code reste simple à utiliser et vous pouvez déterminer si lutilisateur a suivi le compte officiel en quelques étapes seulement.
Cliquez pour modifier
Le code reste simple à utiliser et vous pouvez déterminer si lutilisateur a suivi le compte officiel en quelques étapes seulement.

Ajouter une autorisation de page Web

Entrez les paramètres du compte officiel=》Paramètres de fonction=》Nom de domaine autorisé de la page Web
Le code reste simple à utiliser et vous pouvez déterminer si lutilisateur a suivi le compte officiel en quelques étapes seulement.Cliquez sur paramètres, saisissez le nom de domaine de la page de rappel d'autorisation dans la zone de saisie, référez-vous au point 1 (un seul peut être renseigné), téléchargez le txt au point 3. Les documents sont téléchargés dans le répertoire racine du serveur.
Le code reste simple à utiliser et vous pouvez déterminer si lutilisateur a suivi le compte officiel en quelques étapes seulement.

2. Implémentation du backend PHP

1. Obtenir un jeton global

Ce jeton est valable 2 heures et peut être temporairement stocké. après expiration Réacquérir.
PS : Le projet doit utiliser la même interface, sinon il est facile de provoquer une expiration due à un brossage mutuel.

public static function getToken($appid, $appsecret){
    $url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$appid.'&secret='.$appsecret;
    return Curl::callWebServer($url);
}

正确返回结果:
    {
        "access_token": "ACCESS_TOKEN",
        "expires_in": 7200
    }
    返回结果参数说明:
    参数              说明
    access_token      获取到的全局token
    expires_in        凭证有效时间,单位:秒
    
错误返回结果:
    {"errcode": 40013, "errmsg": "invalid appid"}
    返回结果参数说明:
    返回码    说明
    -1       系统繁忙,此时请开发者稍候再试
    0        请求成功
    40001    AppSecret错误或者AppSecret不属于这个公众号,请开发者确认        AppSecret的正确性
    40002    请确保grant_type字段值为client_credential
    40164    调用接口的IP地址不在白名单中,请在接口IP白名单中进行设置。(小程序及小游戏调用不要求IP地址在白名单内。)
Copier après la connexion

2. Obtenez l'openid du compte public associé à l'utilisateur

En deux étapes, obtenez d'abord le code d'autorisation de l'utilisateur pour le compte public, puis utilisez ce code pour obtenir le access_token et openid temporaires.

Obtenir le code d'autorisation de l'utilisateur

public static function getCode($appId, $redirect_uri, $state=1, $scope='snsapi_base', $response_type='code'){
    $url = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$appId.'&redirect_uri='.$redirect_uri.'&response_type='.$response_type.'&scope='.$scope.'&state='.$state.'#wechat_redirect';
    header('Location: '.$url, true, 301);
}

正确返回结果:
    返回code码,并且跳转回调页面$redirect_uri
    
错误返回结果:
    {"errcode": 10003, "errmsg": "redirect_uri域名与后台配置不一致"}
    返回结果参数说明:
    返回码    说明
    10003    redirect_uri域名与后台配置不一致
    10004    此公众号被封禁
    10005    此公众号并没有这些scope的权限
    10006    必须关注此测试号
    10009    操作太频繁了,请稍后重试
    10010    scope不能为空
    10011    redirect_uri不能为空
    10012    appid不能为空
    10013    state不能为空
    10015    公众号未授权第三方平台,请检查授权状态
    10016    不支持微信开放平台的Appid,请使用公众号Appid
Copier après la connexion

Le code obtenu via getCode est échangé contre le access_token et l'openid autorisé par la page Web

public static function getAccessToken($code, $appid, $appsecret, $grant_type='authorization_code'){
    $url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$appsecret.'&code='.$code.'&grant_type='.$grant_type.'';
    return Curl::callWebServer($url);
}
   
正确返回结果:
    { 
        "access_token": "ACCESS_TOKEN",
        "expires_in": 7200,
        "refresh_token": "REFRESH_TOKEN",
        "openid": "OPENID",
        "scope": "SCOPE"
    }
    返回参数说明
    参数            描述
    access_token    网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同
    expires_in    access_token接口调用凭证超时时间,单位(秒)
    refresh_token    用户刷新access_token
    openid    用户唯一标识,请注意,在未关注公众号时,用户访问公众号的网页,也会产生一个用户和公众号唯一的OpenID
    scope    用户授权的作用域,使用逗号(,)分隔
    
错误返回结果:
    {"errcode":40029, "errmsg":"invalid code"}
Copier après la connexion

3 Obtenir les informations de l'utilisateur

3. 🎜>
public static function getUserInfo($openId, $token){
    $url = 'https://api.weixin.qq.com/cgi-bin/user/info?access_token='.$token.'&openid='.$openId.'&lang=zh_CN';
    return Curl::callWebServer($queryUrl, '', 'GET');
}
正确返回结果:
    {
        "subscribe": 1, 
        "openid": "o6_bmjrPTlm6_2sgVt7hMZOPfL2M", 
        "nickname": "Band", 
        "sex": 1, 
        "language": "zh_CN", 
        "city": "广州", 
        "province": "广东", 
        "country": "中国", 
        "headimgurl":"http://thirdwx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/0",
        "subscribe_time": 1382694957,
        "unionid": " o6_bmasdasdsad6_2sgVt7hMZOPfL"
        "remark": "",
        "groupid": 0,
        "tagid_list":[128,2],
        "subscribe_scene": "ADD_SCENE_QR_CODE",
        "qr_scene": 98765,
        "qr_scene_str": ""
    }
    返回参数说明:
        参数            说明
        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列表
        subscribe_scene 返回用户关注的渠道来源,ADD_SCENE_SEARCH 公众号搜索,ADD_SCENE_ACCOUNT_MIGRATION 公众号迁移,ADD_SCENE_PROFILE_CARD 名片分享,ADD_SCENE_QR_CODE 扫描二维码,ADD_SCENEPROFILE LINK 图文页内名称点击,ADD_SCENE_PROFILE_ITEM 图文页右上角菜单,ADD_SCENE_PAID 支付后关注,ADD_SCENE_OTHERS 其他
        qr_scene        二维码扫码场景(开发者自定义)
        qr_scene_str    二维码扫码场景描述(开发者自定义)

错误结果:
    {"errcode":40013,"errmsg":"invalid appid"}
Copier après la connexion
Utilisez l'openId obtenu à l'étape 2 et le token obtenu à l'étape 1 pour obtenir les informations utilisateur

3. Utilisez

public function isConcern($appId, $appSecret) {
    $param = ''; // 如果有参数
    $this->getCode($appId, U('callback', 'param='.$param), 1 ,'snsapi_base');
}
Copier après la connexion
pour déterminer si vous l'avez suivi Ici. est l'entrée :

public function callback(){
    $isconcern = 0;
    $code = $this->_get('code');
    $param = $this->_get('param');
    $appId = C('appId'); // config中配置
    $appSecret = C('appSecret');
    $accessTokenInfo = $this->getAccessToken($code, $appId, $appSecret);
    $openId = $accessTokenInfo['openid'];
    $accessToken = $accessTokenInfo['access_token'];
    $token = $this->getToken($appId, $appSecret);
    $userInfo = $this->getUserInfo($openId, $token['access_token']);
    if($userInfo['subscribe'] == 1){
        $this->assign('userInfo', $userInfo);
        $isconcern = 1; // 已关注
    } else {
        $isconcern = 0; // 未关注
    }
    $this->assign('openid', $openId);
    $this->display('page');
}
Copier après la connexion
Rappel après autorisation

A ce moment, userInfo et isconcern peuvent être obtenus sur la page Lorsque isconcern vaut 1, cela signifie que le compte public. a été suivi, sinon il n'a pas été suivi.

Recommandations associées :

Développement du compte public WeChat Le compte public WeChat détermine si l'utilisateur a prêté attention à l'analyse du code php

PHP détermine le type de caractère php Déterminer si l'utilisateur suit le compte public WeChat

Vidéo : Suivre et annuler les opérations des comptes publics-0 Introduction au développement de base de WeChat

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

<🎜>: Grow A Garden - Guide de mutation complet
3 Il y a quelques semaines By DDD
<🎜>: Bubble Gum Simulator Infinity - Comment obtenir et utiliser les clés royales
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Comment déverrouiller le grappin
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Système de fusion, expliqué
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel Java
1667
14
Tutoriel PHP
1273
29
Tutoriel C#
1255
24
PHP et Python: différents paradigmes expliqués PHP et Python: différents paradigmes expliqués Apr 18, 2025 am 12:26 AM

PHP est principalement la programmation procédurale, mais prend également en charge la programmation orientée objet (POO); Python prend en charge une variété de paradigmes, y compris la POO, la programmation fonctionnelle et procédurale. PHP convient au développement Web, et Python convient à une variété d'applications telles que l'analyse des données et l'apprentissage automatique.

Choisir entre PHP et Python: un guide Choisir entre PHP et Python: un guide Apr 18, 2025 am 12:24 AM

PHP convient au développement Web et au prototypage rapide, et Python convient à la science des données et à l'apprentissage automatique. 1.Php est utilisé pour le développement Web dynamique, avec une syntaxe simple et adapté pour un développement rapide. 2. Python a une syntaxe concise, convient à plusieurs champs et a un écosystème de bibliothèque solide.

PHP et Python: une plongée profonde dans leur histoire PHP et Python: une plongée profonde dans leur histoire Apr 18, 2025 am 12:25 AM

PHP est originaire en 1994 et a été développé par Rasmuslerdorf. Il a été utilisé à l'origine pour suivre les visiteurs du site Web et a progressivement évolué en un langage de script côté serveur et a été largement utilisé dans le développement Web. Python a été développé par Guidovan Rossum à la fin des années 1980 et a été publié pour la première fois en 1991. Il met l'accent sur la lisibilité et la simplicité du code, et convient à l'informatique scientifique, à l'analyse des données et à d'autres domaines.

Pourquoi utiliser PHP? Avantages et avantages expliqués Pourquoi utiliser PHP? Avantages et avantages expliqués Apr 16, 2025 am 12:16 AM

Les principaux avantages du PHP comprennent la facilité d'apprentissage, un soutien solide sur le développement Web, les bibliothèques et les cadres riches, les performances élevées et l'évolutivité, la compatibilité multiplateforme et la rentabilité. 1) Facile à apprendre et à utiliser, adapté aux débutants; 2) une bonne intégration avec les serveurs Web et prend en charge plusieurs bases de données; 3) ont des cadres puissants tels que Laravel; 4) Des performances élevées peuvent être obtenues grâce à l'optimisation; 5) prendre en charge plusieurs systèmes d'exploitation; 6) Open source pour réduire les coûts de développement.

Impact de PHP: développement Web et au-delà Impact de PHP: développement Web et au-delà Apr 18, 2025 am 12:10 AM

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

Le logiciel de sécurité de l'entreprise entraîne-t-il l'exécution de l'application? Comment dépanner et le résoudre? Le logiciel de sécurité de l'entreprise entraîne-t-il l'exécution de l'application? Comment dépanner et le résoudre? Apr 19, 2025 pm 04:51 PM

Dépannage et solutions au logiciel de sécurité de l'entreprise qui fait que certaines applications ne fonctionnent pas correctement. De nombreuses entreprises déploieront des logiciels de sécurité afin d'assurer la sécurité des réseaux internes. ...

PHP vs Python: cas d'utilisation et applications PHP vs Python: cas d'utilisation et applications Apr 17, 2025 am 12:23 AM

PHP convient aux systèmes de développement Web et de gestion de contenu, et Python convient aux scripts de science des données, d'apprentissage automatique et d'automatisation. 1.Php fonctionne bien dans la création de sites Web et d'applications rapides et évolutifs et est couramment utilisé dans CMS tel que WordPress. 2. Python a permis de manière remarquable dans les domaines de la science des données et de l'apprentissage automatique, avec des bibliothèques riches telles que Numpy et Tensorflow.

L'utilisation continue de PHP: raisons de son endurance L'utilisation continue de PHP: raisons de son endurance Apr 19, 2025 am 12:23 AM

Ce qui est encore populaire, c'est la facilité d'utilisation, la flexibilité et un écosystème fort. 1) La facilité d'utilisation et la syntaxe simple en font le premier choix pour les débutants. 2) étroitement intégré au développement Web, excellente interaction avec les demandes HTTP et la base de données. 3) L'énorme écosystème fournit une multitude d'outils et de bibliothèques. 4) La nature active et la nature open source les adaptent à de nouveaux besoins et tendances technologiques.

See all articles