QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

微信扫一扫 分享朋友圈

已有 20551 人浏览分享

开启左侧

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

[复制链接]
20551 2
  最近准备升级网站功能,没有合适的插件,得自己开发。应用场景是这样的:网友在网站发帖后,我的微信能够第一时间接受到信息推送。如果是违规信息,可以马上进行处理封号,如果是正常信息,就不用管。
  这个功能需要用到微信公众号的模板推送,也就是关注公众号后的openid。这个openid如何获取呢?按照官方教程,可以分为2步:1是根据公众号appid,在经用户授权后,获得1个code;然后再根据公众号的appid、secret和这个code,拉取用户信息,里面有openid。
030.jpg
  感觉很麻烦是不是?我也觉得麻烦,于是一个简化版的程序出来了。首先,建立接收和显示的文件,我们取名叫openid.php,将其上传到服务器根目录,文件内代码如下:
  1. <?php
  2.         $code = $_GET['code'];
  3.         function openid($code)
  4.         {        
  5.                 $secret = "公众号的secret";
  6.                 $appid = "公众号的appid";
  7.                 $url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$appid."&secret=".$secret."&code=".$code."&grant_type=authorization_code";
  8.                 $ch = curl_init();
  9.                 curl_setopt($ch,CURLOPT_URL,$url);
  10.                 curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
  11.                 curl_setopt($ch,CURLOPT_TIMEOUT,30);
  12.                 $content = curl_exec($ch);
  13.                 $status = (int)curl_getinfo($ch,CURLINFO_HTTP_CODE);
  14.                 if ($status == 404) {
  15.                         return $status;
  16.                 }
  17.                 curl_close($ch);
  18.                 return json_decode($content,true);
  19.         }
  20.         $tmp = openid($code);
  21.         echo 'code号是:'.$code.'<br/>';
  22.         echo 'openid是:'.$tmp['openid'];
  23. ?>
复制代码
  再然后,直接拼接一个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。注意一点:公众号的域名白名单里面要添加进你的应用域名。
031.jpg
  当然了,只要得到了code,你也可以通过下面的链接直接得到openid:
  1. https://api.weixin.qq.com/sns/oauth2/access_token?appid=公众号的appid&secret=公众号的secret&code=上面获得的code&grant_type=authorization_code
复制代码
  分享就到这里,谢谢大家!

上一篇:discuz帖内图片显示发表时间和下载次数,如何改成文章标题
下一篇:如何删除win10右键菜单中的“百度一下”?这个方法保证管用

评论 2

玩慈利网手机认证 实名认证 发表于 2022-9-13 11:34:11 | 显示全部楼层
同一个人,不同的公众号对应的openid都不一样

举报 使用道具

回复 支持 反对
玩慈利网手机认证 实名认证 发表于 2022-9-13 11:34:37 | 显示全部楼层
同一个人,不同的公众号对应的openid都不一样

举报 使用道具

回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

36

关注

177

粉丝

13511

主题
热门资讯
网友晒图
  • 公众号

    微信公众号

  • 微信

    站长微信

Powered by Discuz! 在此致以诚挚谢意!

CopyRight © 2011-2024 wancili.com