微信公众平台开发教程①获取用户Openid及个人信息图文详解


Posted in PHP onApril 10, 2019

本文实例讲述了微信公众平台开发获取用户Openid及个人信息。分享给大家供大家参考,具体如下:

前言:

初次尝试微信公众号的开发,对于学习方法的探索都是来源于网上的博客、问答,对于参差不齐的信息,自己也是有苦说不出,抽出一点时间写点文章,既是对自己的学习总结,也希望给予同是菜鸟的学渣一点帮助

背景介绍:

我需要用户接收微信分享的链接后,点击进入给参加活动的用户【点赞】,然后需要后台获取该微信用户的 openid 作为唯一的标记信息,以便保证该用户下次进入后进行数据库的比对,直接提取其对应的操作信息

操作流程:

一.公众号的信息配置

(1).一般情况下,使用的公众号/服务号 进行配置的信息基本如下:

       微信公众平台开发教程①获取用户Openid及个人信息图文详解

(2).因为我个人学习申请的是订阅号,好多功能不开放,进而选择了“公众平台测试账号”

       微信公众平台开发教程①获取用户Openid及个人信息图文详解

(3).点击“进入”后会被要求扫描二维码,使用自己的微信账号就可以

需要注意的是,“接口配置信息”中,URL为验证 token 的回调地址,此URL填写时多半需要你已经将代码上传的外网可访问的地址,我在后面会提供相应代码,再者注意Token值的确定,因为后面代码中会用到

       微信公众平台开发教程①获取用户Openid及个人信息图文详解

(4).下拉页面,需要配置 网页授权获取用户基本信息

需要注意的是回调页面的域名一定不要写错,之前我就是错在这里浪费了很多时间,如果错误,后面二维码扫描时会报错:“redirect_uri参数错误”.个人建议去掉“http://”以及多余的后缀就好,可以参考下图

       微信公众平台开发教程①获取用户Openid及个人信息图文详解

       微信公众平台开发教程①获取用户Openid及个人信息图文详解

注:建议参考新篇(简洁化)-> 微信公众平台开发之微信集成类的使用

二.后台代码的编写

(1).参考回调地址的代码,该文件是我直接从开发者平台下载而来,只改动了“token”值

微信公众平台开发教程①获取用户Openid及个人信息图文详解

(2).参考下面访问地址的代码

注意 appid 的正确填写,其次就是 redirect_uri 的地址确定,我提供的可作参考。再者对于下面代码中的url中“scope=snsapi_userinfo”可以自行控制,需要分辨 snsapi_base 和 snsapi_userfo 的简单区别,百度可有很多具体解释。

微信公众平台开发教程①获取用户Openid及个人信息图文详解

(3).参考 redirect_uri 中的代码

此代码的功能是打印出微信用户的信息,便于参考获取的 json 数据,当提取到微信用户的数据,后续相关数据库操作代码开发就不是难事了。

微信公众平台开发教程①获取用户Openid及个人信息图文详解

三.最后的功能测试

(1).使用“草料二维码”生成微信可扫描的二维码,然后使用手机扫描即可:
   微信公众平台开发教程①获取用户Openid及个人信息图文详解(2).扫描过后显示如下:
   微信公众平台开发教程①获取用户Openid及个人信息图文详解

附录:

(1).提示信息

①. 微信公众号开发文档中有说明,需要访问的网站域名端口为 80,需要注意一下,当然多数默认为 80端口开放,如果没有外网可访问的网站,建议使用新浪 SAE,在此我使用的是公司服务器直接测试

. 因为微信开发的信息更新,获取我们网上获取的信息已过时,所以建议学会方法后面的操作参考开发文档也不是难事

. 在此提供两个参考网站,个人觉得除了部分时间久远,还是很详细的,尤其对于SAE,以及开发文档的解释都值得一读

(2).文章推荐

推荐新篇(简洁化)微信开发集成类的使用

(3).源代码下载 >>>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
JAVA/JSP学习系列之四
Oct 09 PHP
php curl选项列表(超详细)
Jul 01 PHP
PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
Jun 12 PHP
php通过隐藏表单控件获取到前两个页面的url
Sep 09 PHP
php使用function_exists判断函数可用的方法
Nov 19 PHP
PHP使用strtotime计算两个给定日期之间天数的方法
Mar 18 PHP
PHP贪婪算法解决0-1背包问题实例分析
Mar 23 PHP
PHP获取Exif缩略图的方法
Jul 13 PHP
php连接oracle数据库的核心步骤
May 26 PHP
form表单传递数组数据、php脚本接收的实例
Feb 09 PHP
Symfony2针对输入时间进行查询的方法分析
Jun 28 PHP
[原创]PHP实现SQL语句格式化功能的方法
Jul 28 PHP
微信公众平台开发教程⑥ 微信开发集成类的使用图文详解
Apr 10 #PHP
微信公众平台开发教程②微信端分享功能图文详解
Apr 10 #PHP
ThinkPHP框架整合微信支付之刷卡模式图文详解
Apr 10 #PHP
laravel配置Redis多个库的实现方法
Apr 10 #PHP
在Ubuntu 18.04上安装PHP 7.3 7.2和7.0的方法
Apr 09 #PHP
微信公众号实现扫码获取微信用户信息(网页授权)
Apr 09 #PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式二图文详解
Apr 09 #PHP
You might like
c#中的实现php中的preg_replace
2009/12/21 PHP
php获得文件夹下所有文件的递归算法的简单实例
2016/11/01 PHP
PHP中Cookie的使用详解(简单易懂)
2017/04/28 PHP
php+ajax实现异步上传文件或图片功能
2017/07/18 PHP
js 通用javascript函数库整理
2011/08/14 Javascript
Textarea根据内容自适应高度
2013/10/28 Javascript
jQuery中width()方法用法实例
2014/12/24 Javascript
Javascript递归打印Document层次关系实例分析
2015/05/15 Javascript
3种js实现string的substring方法
2015/11/09 Javascript
jquery拖动层效果插件用法实例分析(附demo源码)
2016/04/28 Javascript
详解原生JavaScript实现jQuery中AJAX处理的方法
2016/05/10 Javascript
JavaScript对象数组如何按指定属性和排序方向进行排序
2016/06/15 Javascript
使用json来定义函数,在里面可以定义多个函数的实现方法
2016/10/28 Javascript
AngularJS创建自定义指令的方法详解
2016/11/03 Javascript
jQuery Ajax请求后台数据并在前台接收
2016/12/10 Javascript
js实现选项卡内容切换以及折叠和展开效果【推荐】
2017/01/08 Javascript
Windows下快速搭建NodeJS本地服务器的步骤
2017/08/09 NodeJs
使用react-router4.0实现重定向和404功能的方法
2017/08/28 Javascript
Angular2的管道Pipe的使用方法
2017/11/07 Javascript
聊聊JS动画库 Velocity.js的使用
2018/03/13 Javascript
layui select 禁止点击的实现方法
2019/09/05 Javascript
vue实现分页的三种效果
2020/06/23 Javascript
python的迭代器与生成器实例详解
2014/07/16 Python
python利用拉链法实现字典方法示例
2017/03/25 Python
python实现单链表中删除倒数第K个节点的方法
2018/09/28 Python
python 自定义对象的打印方法
2019/01/12 Python
Python中调用其他程序的方式详解
2019/08/06 Python
使用python写一个自动浏览文章的脚本实例
2019/12/05 Python
利用 Canvas实现绘画一个未闭合的带进度条的圆环
2019/07/26 HTML / CSS
Servlet方面面试题
2016/09/28 面试题
我们的节日元宵活动方案
2014/08/23 职场文书
执法作风整顿剖析材料
2014/10/11 职场文书
《梅花魂》教学反思
2016/02/18 职场文书
导游词之韩国济州岛
2019/10/28 职场文书
MYSQL(电话号码,身份证)数据脱敏的实现
2021/05/28 MySQL
MySQL数据库完全卸载的方法
2022/03/03 MySQL