首先,你的网站入口必须是微信服务号(开通认证、拥有获取用户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页面如何获取微信用户名和头像?...相关推荐

  1. ​微信公众平台用户信息相关接口调整通知2021-09-27​

    欢迎大家加入我的知识星球! 近期收到微信平台关于用户信息接口调整的通知,留作备忘. 原文如下: 微信公众平台用户信息相关接口调整通知2021-09-27 根据相关法律法规,为进一步规范开发者调用用户信 ...

  2. 获取小程序用户信息+java_java获取微信小程序用户信息

    第一步:获取openid.session_key等信息. /** * 获取微信小程序的用户openid和session_key/unionid * 返回格式:{"session_key&qu ...

  3. Java实现扫码微信登陆(获取登陆成功的用户信息 + 包含使用vue怎么显示登陆二维码)

    实现于springboot中 依据b站视频写出的: 点击此处进行观看 然后记录于此处. 首先微信登陆的流程为: (可以去微信开发者平台看) 第一步:请求CODE 若提示"该链接无法访问&qu ...

  4. 微信小程序用户信息解

    微信小程序用户信息解密 问题描述 当小程序在获取用户信息或者获取手机号的时候,用户微信接口返回的是AES加密之后的数据,所以需要解决 方法 就拿获取手机号来讲,前端通过微信接口: Page({getP ...

  5. 腾讯回应微信读书侵害用户信息;苹果称今年新iPhone将推迟数周发布;Julia 1.6.0 发布| 极客头条...

    整理 | 屠敏 头图 | CSDN 下载自东方 IC 快来收听极客头条音频版吧,智能播报由出门问问「魔音工坊」提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极 ...

  6. 使用uc_authcode 获取论坛当前登录用户信息

    目的:使用uc_authcode 获取论坛当前登录用户信息 曲折:看了Discuz官方的ucenter二次开发手册,其中的Example如下: if(!empty($_COOKIE['Example_ ...

  7. 腾讯回应微信读书侵害用户信息;苹果称今年新iPhone将推迟数周发布;Julia 1.6.0 发布| 极客头条

    整理 | 屠敏 头图 | CSDN 下载自东方 IC 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 国内要 ...

  8. taobao.miniapp.eleuser.phone.get( 获取饿了么用户信息 )

    ¥开放平台免费API必须用户授权 获取饿了么用户信息 公共参数 请求地址: 公共请求参数: 公共响应参数: 响应参数 点击获取key和secret 请求示例 响应示例 异常示例

  9. php公众获取用户信息,PHP--通过公众号获取用户微信信息

    /** *This is test. 这是一个测试 */    function bbc(){ session("name","你打野"); redirect( ...

最新文章

  1. TLS与openssl学习总结(三)-实操篇
  2. TYVJ1415 差分约束
  3. PowershellTFS_Part 1
  4. php脏在哪里,逍遥游户外联盟-人身上最“脏”的地方是哪里?3个地方,建议经常清洗 -...
  5. 关于.NET参数传递方式的思考
  6. UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 46: ordinal
  7. 一个故事 让你看懂“区块链”
  8. 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 5丨员工奖金【难度简单】
  9. Python中使用xpath获取select option的每一行的text和value
  10. iOS之 随笔Xcode7的lipo
  11. 英文secuerity证券secuerity安全
  12. 计算机组成原理:MIPS
  13. 基金常用的分析指标:跟踪误差率、信息比率、夏普比率到底是什么意思?
  14. Linux 功能强大的 路由器,一款功能强大的路由器系统-软路由-RouterOS
  15. 微信网页授权登入--laravel组件 laravel-wechat调用
  16. choice数据库导出股票数据
  17. Linux音频驱动之二:Control接口的调用
  18. 智能窗帘研究制作_智能窗帘的制作方法
  19. 微软开源人工智能工具和深度学习框架
  20. 男生看女生叫审美,女生看男生叫好色——新解

热门文章

  1. . [Error] no match for ‘operator=‘ (operand types are ‘STU‘ and ‘int‘)
  2. php中seq是什么意思,seq-answer
  3. MIMIC IV数据库安装(二)
  4. 2012系统服务器网络限制,Windows server 2012 r2对计算机的网络速度限制在~30mbps
  5. SDUT 来淄博旅游
  6. 总结运用kali破解WIFI密码的多种方法
  7. 2d游戏和 3d游戏的区别
  8. OPEX推出新一代货到人仓库自动化技术——Infinity ASRS
  9. 解决eclipse出现This Android SDK requires Andro...date ADT to the latest version.问题
  10. c语言数独出题程序,我用C语言写解数独程序(一)