当前位置: 首页 > 后端技术 > PHP

自建网站对接微信公众号

时间:2023-03-29 13:38:48 PHP

标题:自建网站对接微信公众号日期:2018-04-1215:25标签:微信公众号,PHPcodeignitercategorys:技术我们平时写的各种网站,个人博客系统,物流管理系统,通讯录管理系统,二手校园网站。我们都知道,你只需要租用一台服务器,配置一个注册的域名,就可以在浏览器上访问了。不知道大家有没有想过,把自己的网站连上微信公众号,用微信这个大用户软件给你引流?|本文环境|版本||---|---||操作系统|Ubuntu16.04.03|PHP||项目局域网地址|http://192.168.253.1/audit|问:你在开玩笑吗?你不是直接用微信打开的吗?A:直接在微信里打开就可以了,然后你让用户在微信里重新打开注册一个账号?对于大部分不想麻烦的朋友来说,也就罢了。其实微信提供了一个接口,让你可以获取到微信的用户名和用户头像。一般来说,你可以通过三种方式获得使用认证的微信开放平台(注意,不是微信公众平台)的一种方法是使用认证的订阅号。使用认证服务号需要开发者认证或者微信认证名额,所以并不是说没有认证就不能玩。?嗯,确实是这样,不过如果你真的只是想玩玩,可以去这里。https://mp.weixin.qq.com/debu...微信测试号几乎所有接口都有,并且享受局域网IP回调(意思是可以支持局域网,这是官方微信平台号没有的)发送未经审查的模板消息。缺点是最多只支持100个用户,不能设置名字和头像。对于一些只想玩玩,或者小规模的用户来说是没有问题的。你可以用我登录,扫码登录;WeChattoken新建一个php文件(任何语言都可以自己修改)publicfunctiontoken(){$nonce=$_GET['nonce'];$token='微信';$timestamp=$_GET['timestamp'];$echostr=$_GET['echostr'];$signature=$_GET['签名'];//组成一个数组,然后按照字典顺序排序$array=array();$array=array($nonce,$timestamp,$token);排序($数组);//拼接成字符串,用sha1加密,然后用signat用于验证$str=sha1(implode($array));if($str==$signature&&$echostr){//echo$echostr;出口;}}然后在第一次访问weixinapi接口时填写测试号中的路径和token,认证成功后即可继续操作。界面>网页授权获取用户基本信息>只修改测试账号支持ip微信界面界面详情可以查看https://mp.weixin.qq.com/wiki...注意:这些界面不是简单的connected是的,每个请求都需要携带access_token,而获取access_token,每天获取是有上限的。access-token有有效期(7200s),过期需要重新获取。access_token的获取方法https://mp.weixin.qq.com/debu...获取用户信息,达到免费登录的效果。这里我们需要三个接口:接口一:https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect接口二:https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code接口三:https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN接口四:刷新access_tokenhttps://api.weixin.qq.com/sns/oauth2/refresh_token?appid=APPID&grant_type=refresh_token&refresh_token=REFRESH_TOKEN接口返回数据,见https://mp.weixin.qq.com/wiki...第一步:用户同意授权,获取代码示例:(注意appid、redirect_url是变量)//192.168.253.1/audit/client/").'&response_type=code&scope=snsapi_base&state=123#wechat_redirect';第二步:换取网页授权access_token代码示例".$this->secret."&code=".$_GET['code']."&grant_type=authorization_code"));注意:这里的access_token和上面的access_token不一样第三步:通过access_token交换userinfo例子$userInfo=json_decode(file_get_contents("https://api.weixin.qq.com/sns/userinfo?access_token=".$data->access_token."&openid=".$data->openid."&lang=zh_CN"));刷新access_token,有需要的话,这是我画的一个请求流程图,可以帮助理解测试演示1.授权url不一定要发到手机端,也可以在电脑端,也可以这样写在子菜单中点击进入。2.按照考号,否则就是这个样子3.关注后,点击考号就可以访问成功了。好了,后台代码的原理就不说了。类似于微信服务器发来一个表单,登录系统,然后将数据存入数据库。好的。公众号运行效果