微信公众号发送消息给用户 php

1.微信公众号 这里得话 一开始先去看了 微信公众号的接口 发现网页受权须要时认证的服务号,一开始想的是那去申请一个认证的服务号岂不是很费事,而后网上搜了搜,发现了还有微信公众号我的测试号这个东西,全部的接口均可以使用(听说是这样),而后就开始去学习使用微信公众号我的测试号的使用;我的测试号网址:http://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/indexphp

2.我的测试号也是一通网上去找教程,试了不少个百度搜索的结果,发现都不彻底好用。由于我这个开发的网站是在本地开发的,却是在刚才搜索的教程中找到了 “内网穿透”这个神器,就是能够把你本地的网址(通常是127.0.0.1)隐射到外网的一个网址上,这样别人就能够经过这个外网的网址(什么是外网,就是否是本机电脑才能够访问的网址,全部人只要知道网址就能够访问的网络就是外网)放问到你的内网(内网就是只有本身本机的电脑能够访问的网络)。java

https://blog.csdn.net/m0_37987521/article/details/79525515 这个网址就是刚才成功内网穿透的教程。python

看到这里,你们可能会有疑问为啥须要这个内网穿透的东西,由于我的微信公众号须要绑定一个网址,这个网址必须是外网,并且端口必须是80端口,才能够成功。程序员

到这里就解决了内网穿透这个问题,接下来的是如何把个人外网网址绑定到微信的我的测试公众号上。以前也说了,在百度搜索引擎搜了不少,发现都不太好用,因而去谷歌搜索去试一下,你还别说,试了一个谷歌搜索,还真找到了好用的博客,https://www.kancloud.cn/zhangyouwu/zhangyouwu_weixinjiekou/538920照着博客的指示来,就成功绑定好了微信我的测试公众号与个人外网网址。因此这里你们能够看出来,谷歌的好处,百度搜不到建议谷歌试一下,说不定就会有意外之喜。面试

3.绑定好了之后就是想去在微信公众号对话框回复消息,而后我这里后台能够接收到消息,而后对这条消息进行回复,就是公众号自动回复的功能,https://www.kancloud.cn/zhangyouwu/zhangyouwu_weixinjiekou/538922这里照着教程(刚才的网址)中走就行,有一点你们要注意的是,教程中的代码中有中文的内容在代码中,这个可能会让咱们的代码很差用,我是把教程中的代码复制到sublime 上保存为php文件才好用,一开始复制到notepad++上代码没法正常运行,公众号后台对话框总是回复 “该公众号提供的服务出现故障,请稍后再试”,检查代码发现是教程中的中文在notepad++上乱码了,这里想和你们说的是看到中文必定要留个心眼,尽可能不要出现中文,还有就是文件路径尽可能不要用中文路径。编程

4.因为甲方要求有用户登陆须要经过微信公众号获取用户的我的信息这个操做,因此还须要实现微信网页受权,以下午所示,网址是:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842照着上面的教程去拼接出这样一个连接:https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirecturi=REDIRECTURI&responsetype=code&scope=SCOPE&state=STATE#wechatredirect 若提示“该连接没法访问”,请检查参数是否填写错误,是否拥有scope参数对应的受权做用域权限。上述是微信官方文档的示例,接下来的连接是我拼出来的:https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx24085f99556b3abe&redirecturi=http%3A//education123.natapp1.cc/&responsetype=code&scope=snsapiuserinfo&state=STATE#wechatredirectapi

能够看到我修改了appid redirect_url scope 这三个参数,appid就是你申请微信公众我的测试号的appid,就是下图的方框框起来的appidredirecturl就是下面箭头指向的连接,(这里我就不打马赛克了,给你们一个更直观的清楚的感受,并且必须是我开启了个人本地服务器才能够访问的,因此问题不大),redirecturl中是通过urlencode处理过的连接,不是原始的连接,这里我使用python2 两行代码搞定from urllib import quoteprint(quote('http://education123.natapp1.cc/'))把上述拼接好的连接,直接复制传到微信的对话框,在微信中访问,会请求获取你的信息,这里就完成了微信网页受权这个功能。服务器

5.上述完成之后,就是按照官方文档去获取code,可是我返回的网址中没有任何的code信息,https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx24085f99556b3abe&redirecturi=http%3A//education123.natapp1.cc/&responsetype=code&scope=snsapiuserinfo&state=STATE#wechatredirect这个网址访问之后,复制出来的连接是http.//education123.natapp1.cc/
没有任何的code信息,咱们须要这个code信息去获取用户的信息(昵称,性别,openid)等,因而又去google搜了一下,果真仍是又找到了。https://my.oschina.net/u/2487410/blog/603844这个博客,原来微信再返回code的时候,作了处理,直接复制连接是看不到这个code参数的。因而我照着这个代码修改了一下,写了getback.php,注意这个getback.php必须放到你的项目的根目录下修改最初的受权的url:https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx24085f99556b3abe&redirecturi=http%3A//education123.natapp1.cc/getback.php&responsetype=code&scope=snsapiuserinfo&state=STATE#wechat_redirect微信

能够看到这个受权的url变成了getback.php 后缀的,这个getback.php网络

是这样子的,再来把刚才的连接在微信的客户端打开。

能够看到出现了一串神秘代码,这串代码就是咱们须要的code.能够看到获取到了个人 昵称和个人openid .

以为文章不错的欢迎关注个人WX公众号:程序员乔戈里
我是百度后台开发工程师,哈工大计算机本硕,专一分享技术干货/编程资源/求职面试/成长感悟等,关注送5000G编程资源和本身整理的一份帮助很多人拿下java的offer的面经附答案,免费下载CSDN资源。

相关文章
相关标签/搜索