·设为首页收藏本站📧邮箱修改🎁免费下载专区💎积分购买✅卡密充值📒收藏夹🎖️众筹悬赏👽聊天室
返回列表 发布新帖

PHP获取微信公众号的个人openid,方便模板消息推送

139 2
发表于 2023-3-6 17:23:55 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
  最近准备升级网站功能,没有合适的插件,得自己开发。应用场景是这样的:网友在网站发帖后,我的微信能够第一时间接受到信息推送。如果是违规信息,可以马上进行处理封号,如果是正常信息,就不用管。
  这个功能需要用到微信公众号的模板推送,也就是关注公众号后的openid。这个openid如何获取呢?按照官方教程,可以分为2步:1是根据公众号appid,在经用户授权后,获得1个code;然后再根据公众号的appid、secret和这个code,拉取用户信息,里面有openid。
PHP获取微信公众号的个人openid,方便模板消息推送 获取,微信,公众,个人,openid

  感觉很麻烦是不是?我也觉得麻烦,于是一个简化版的程序出来了。首先,建立接收和显示的文件,我们取名叫openid.php,将其上传到服务器根目录,文件内代码如下:
  1. <?php        $code = $_GET['code'];        function openid($code)        {                        $secret = "公众号的secret";                $appid = "公众号的appid";                $url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$appid."&secret=".$secret."&code=".$code."&grant_type=authorization_code";                $ch = curl_init();                curl_setopt($ch,CURLOPT_URL,$url);                curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);                curl_setopt($ch,CURLOPT_TIMEOUT,30);                $content = curl_exec($ch);                $status = (int)curl_getinfo($ch,CURLINFO_HTTP_CODE);                if ($status == 404) {                        return $status;                }                curl_close($ch);                return json_decode($content,true);        }        $tmp = openid($code);        echo 'code号是:'.$code.'<br/>';        echo 'openid是:'.$tmp['openid'];?>
复制代码
  再然后,直接拼接一个url,让关注公众号的人去点击,或者做到公众号菜单里也行。url地址是:
  1. https://open.weixin.qq.com/connect/oauth2/authorize?appid=公众号的appid&redirect_uri=上面php文件的网络地址,需要https开头&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect
复制代码
  然后你点击访问这个url,如果没有问题,在授权之后,会直接显示出你的openid。注意一点:公众号的域名白名单里面要添加进你的应用域名。
PHP获取微信公众号的个人openid,方便模板消息推送 获取,微信,公众,个人,openid

  当然了,只要得到了code,你也可以通过下面的链接直接得到openid:
  1. https://api.weixin.qq.com/sns/oauth2/access_token?appid=公众号的appid&secret=公众号的secret&code=上面获得的code&grant_type=authorization_code
复制代码
  分享就到这里,谢谢大家!
我要说一句 收起回复
创宇盾启航版免费网站防御网站加速服务

评论2

拾光Lv.8 发表于 2023-3-6 17:24:20 | 查看全部
同一个人,不同的公众号对应的openid都不一样
我要说一句 收起回复
浅生Lv.8 发表于 2023-3-6 17:25:14 | 查看全部
同一个人,不同的公众号对应的openid都不一样
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

创宇盾启航版免费网站防御网站加速服务
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:18.191.174.159,GMT+8, 2024-9-20 12:37 , Processed in 0.206006 second(s), 90 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2024 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表