博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微信开发对接
阅读量:6312 次
发布时间:2019-06-22

本文共 1136 字,大约阅读时间需要 3 分钟。

       先来说说需求,最近公司开发了一个系统,用户扫描二维码签到之后要能记住用户,待用户再次扫码进来要能识别用户身份,显示他已签到。当然这二维码指向的页面都是我们自己开发的,目前仅支持微信扫描。

       一开始,我采用记录用户ip地址的方法,这对于非无线网用户或单一无线网使用者还是没问题的,但是真实使用场景是用户聚集在一起,场地也提供了无线网,这样获取的ip地址对外都一样的,也就是第一个扫码签到后,之后扫码的都会认为是这个人而提示他已签到,这样当然达不到效果。后来网上查阅,发现可以获取扫码用户的openid,这个openid对公众号唯一,这样既可达到需求,而且获取openid后,后面还可以进一步操作。打开微信公众平台开发文档,找到了需要的接口,而且可以在用户不关注公众号的前提下完成静默授权,用户无感知。但是文档上说只有认证的服务号才有这个权限,于是我就弄了个测试号试试。

       配置界面如图所示:

       拿到就是一阵瞎配,点开右边的使用指南又回到文档首页去了,回过头继续鼓捣。话说这个玩意也是坑人,我听说这里非要填正确的url,就弄了个花生壳外网映射,心想这总可以了吧,结果点击没有效果,老是配置失败。我也是太二了,上面写的也算明白了,我以为直接在这里配个token,然后那边每次带个token到微信服务器验证就行了。后来总算醒悟,自己赶快找了个Java的程序弄到服务器上来响应这边的请求,可这边请求就是过不去。这到底什么问题?有人提醒我url有问题。我没办法,查阅资料发现别人都是用的啥sea,bea之类的,于是我又顺道去摸了摸这个玩意,真是不给钱不搞事啊,给新浪贡献了一块钱,我再把系统打包上传到sea,给我分配了一个二级域名,然后把正确的url填写到上面,结果就好了,配置成功!

       搞完后我才发现饶了一个大圈子,我也不搞微信公众平台开发,我配这玩意干嘛?我配的那个域名虽然检测通过了,但是我也不可能在那上面测试啊。不过也不吃亏,就当娱乐了,以后搞公众平台开发也可以上手了。然后我利用ngrok配了下面的网页授权回调域名:

        然后按照接口文档一步步来,获取到了用户的openid。虽说转了一圈子,但是也学了不少东西,知道了如何快速有效和微信对接,知道了如何使用sea,知道了ngrok这个外网映射的神器(这个东西绝对比花钱的花生壳好)。现在我还是总结下和微信对接的几个关键点:

1.使用正确的外网映射工具--ngrok,既免费又方便测试。

2.使用80端口,微信目前支持这个。

3.回调url要加密。

4.授权回调域名只要真正的域名部分。

5.接口配置的url请写全,检查是否POST请求。

转载于:https://www.cnblogs.com/lucare/p/9312665.html

你可能感兴趣的文章
路由器ospf动态路由配置
查看>>
zabbix监控安装与配置
查看>>
python 异常
查看>>
last_insert_id()获取mysql最后一条记录ID
查看>>
可执行程序找不到lib库地址的处理方法
查看>>
bash数组
查看>>
Richard M. Stallman 给《自由开源软件本地化》写的前言
查看>>
oracle数据库密码过期报错
查看>>
修改mysql数据库的默认编码方式 .
查看>>
zip
查看>>
How to recover from root.sh on 11.2 Grid Infrastructure Failed
查看>>
rhel6下安装配置Squid过程
查看>>
《树莓派开发实战(第2版)》——1.1 选择树莓派型号
查看>>
在 Linux 下使用 fdisk 扩展分区容量
查看>>
结合AlphaGo算法和大数据的量化基本面分析法探讨
查看>>
如何在 Ubuntu Linux 16.04 LTS 中使用多个连接加速 apt-get/apt
查看>>
《OpenACC并行编程实战》—— 导读
查看>>
机器学习:用初等数学解读逻辑回归
查看>>
如何在 Ubuntu 中管理和使用逻辑卷管理 LVM
查看>>
Oracle原厂老兵:从负面案例看Hint的最佳使用方式
查看>>