php获取微信公众号用户信息头像,微信公众号的web页面如何获取微信用户名和头像?...
首先,你的网站入口必须是微信服务号(开通认证、拥有获取用户openid权限;订阅号是不行的)。
方法:网页通过微信的Oauth2认证链接。(必须是微信的内置浏览器,通过微信服务号进入)
操作:通过服务号菜单链接进入网站,如: https://open.weixin.qq.com/connect/oauth2/authorize?appid=YOURAPPID&redirect_uri=http://YOUWEBSITE/oauth2.php&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect
自己根据微信提供的oauth2接口文档,编写oauth2.php内容,(网上有相关官方SDK)
步骤如下:
1. 微信的oauth重定向回来有一个$_GET['code']参数,通过code来获取用户openid
2. 通过OpenID获取access_token
3. 通过access_token获取用户信息
4. 授权注册用户,若已存在该用户则直接进入网站
贴一段oauth2.php的示例代码:
//http://www.drupal001.net/oauth2.php
$appid = "公众号在微信的appid";
$secret = "公众号在微信的app secret";
$code = $_GET["code"];
$get_token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$secret.'&code='.$code.'&grant_type=authorization_code';
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$get_token_url);
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
$res = curl_exec($ch);
curl_close($ch);
$json_obj = json_decode($res,true);
//根据openid和access_token查询用户信息
$access_token = $json_obj['access_token'];
$openid = $json_obj['openid'];
$get_user_info_url = 'https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token.'&openid='.$openid.'&lang=zh_CN';
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$get_user_info_url);
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
$res = curl_exec($ch);
curl_close($ch);
//解析json
$user_obj = json_decode($res,true);
$_SESSION['user'] = $user_obj;
print_r($user_obj);
?>
最后提醒一下,你的公众号回调网站域名必须在微信公众号平台配置一下,否则会报错,参考下图:
php获取微信公众号用户信息头像,微信公众号的web页面如何获取微信用户名和头像?...相关推荐
- 微信公众平台用户信息相关接口调整通知2021-09-27
欢迎大家加入我的知识星球! 近期收到微信平台关于用户信息接口调整的通知,留作备忘. 原文如下: 微信公众平台用户信息相关接口调整通知2021-09-27 根据相关法律法规,为进一步规范开发者调用用户信 ...
- 获取小程序用户信息+java_java获取微信小程序用户信息
第一步:获取openid.session_key等信息. /** * 获取微信小程序的用户openid和session_key/unionid * 返回格式:{"session_key&qu ...
- Java实现扫码微信登陆(获取登陆成功的用户信息 + 包含使用vue怎么显示登陆二维码)
实现于springboot中 依据b站视频写出的: 点击此处进行观看 然后记录于此处. 首先微信登陆的流程为: (可以去微信开发者平台看) 第一步:请求CODE 若提示"该链接无法访问&qu ...
- 微信小程序用户信息解
微信小程序用户信息解密 问题描述 当小程序在获取用户信息或者获取手机号的时候,用户微信接口返回的是AES加密之后的数据,所以需要解决 方法 就拿获取手机号来讲,前端通过微信接口: Page({getP ...
- 腾讯回应微信读书侵害用户信息;苹果称今年新iPhone将推迟数周发布;Julia 1.6.0 发布| 极客头条...
整理 | 屠敏 头图 | CSDN 下载自东方 IC 快来收听极客头条音频版吧,智能播报由出门问问「魔音工坊」提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极 ...
- 使用uc_authcode 获取论坛当前登录用户信息
目的:使用uc_authcode 获取论坛当前登录用户信息 曲折:看了Discuz官方的ucenter二次开发手册,其中的Example如下: if(!empty($_COOKIE['Example_ ...
- 腾讯回应微信读书侵害用户信息;苹果称今年新iPhone将推迟数周发布;Julia 1.6.0 发布| 极客头条
整理 | 屠敏 头图 | CSDN 下载自东方 IC 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 国内要 ...
- taobao.miniapp.eleuser.phone.get( 获取饿了么用户信息 )
¥开放平台免费API必须用户授权 获取饿了么用户信息 公共参数 请求地址: 公共请求参数: 公共响应参数: 响应参数 点击获取key和secret 请求示例 响应示例 异常示例
- php公众获取用户信息,PHP--通过公众号获取用户微信信息
/** *This is test. 这是一个测试 */ function bbc(){ session("name","你打野"); redirect( ...
最新文章
- TLS与openssl学习总结(三)-实操篇
- TYVJ1415 差分约束
- PowershellTFS_Part 1
- php脏在哪里,逍遥游户外联盟-人身上最“脏”的地方是哪里?3个地方,建议经常清洗 -...
- 关于.NET参数传递方式的思考
- UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 46: ordinal
- 一个故事 让你看懂“区块链”
- 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 5丨员工奖金【难度简单】
- Python中使用xpath获取select option的每一行的text和value
- iOS之 随笔Xcode7的lipo
- 英文secuerity证券secuerity安全
- 计算机组成原理:MIPS
- 基金常用的分析指标:跟踪误差率、信息比率、夏普比率到底是什么意思?
- Linux 功能强大的 路由器,一款功能强大的路由器系统-软路由-RouterOS
- 微信网页授权登入--laravel组件 laravel-wechat调用
- choice数据库导出股票数据
- Linux音频驱动之二:Control接口的调用
- 智能窗帘研究制作_智能窗帘的制作方法
- 微软开源人工智能工具和深度学习框架
- 男生看女生叫审美,女生看男生叫好色——新解
热门文章
- . [Error] no match for ‘operator=‘ (operand types are ‘STU‘ and ‘int‘)
- php中seq是什么意思,seq-answer
- MIMIC IV数据库安装(二)
- 2012系统服务器网络限制,Windows server 2012 r2对计算机的网络速度限制在~30mbps
- SDUT 来淄博旅游
- 总结运用kali破解WIFI密码的多种方法
- 2d游戏和 3d游戏的区别
- OPEX推出新一代货到人仓库自动化技术——Infinity ASRS
- 解决eclipse出现This Android SDK requires Andro...date ADT to the latest version.问题
- c语言数独出题程序,我用C语言写解数独程序(一)