用户点击授权页面,scope不需要进入确认授权页面, 直接采用采用的 scope 为 snsapi_base的时候没有影响,直接获取用户 OpenId;snsapi_base (不弹出授权页面,直接跳转,只能获取用户openid)

但是scope为snsapi_userinfo 就会提示 用户,当用户点击确认授权之后,才能拿去用的code,再得到用户的OpenId;

snsapi_userinfo (弹出授权页面,可通过openid拿到昵称、性别、所在地。并且,即使在未关注的情况下,只要用户授权,也能获取其信息)

我的
https://open.weixin.qq.com/connect/oauth2/authorize?appid=appid&redirect_uri=http://xxxx/code.php&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect

用户同意授权后,页面将跳转至http://xxx/xx.php

如果访问的时候, 提示redirect_uri 参数错误,有两种情况;

1、表示url给的域名不是回调页面的域名,必须在网页回调里面设置网页授权域名,配置了域名才能访问。网页授权获取用户基本信息 后面有个"修改"按钮   填上域名就可以了

2、回调url要进行urlencode,我就进行urlencode了,实际上不用的,已经自动转了;

以下就是微信企业号获取用户OpenId方法;但是因为我是通过 scope 为 snsapi_base授权的,所以只直接取用户OpenId,没有获取用户的性别昵称等。如果scope为snsapi_userinfo ;通过用户点击确认授权,即可拿到用户的性别、昵称、地址等信息;

//通过code换取token
$code = $_GET['code'];
$url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=appid&secret=SECRET&code=$code&grant_type=authorization_code";
$json = file_get_contents($url);
$arr = json_decode($json,true);
$token = $arr['access_token'];
$openid = $arr['openid'];
//拿到token后就可以获取用户基本信息了
$url = "https://api.weixin.qq.com/sns/userinfo?access_token=$token&openid=$openid ";
$json = file_get_contents($url);//获取微信用户基本信息
$arr = json_decode($json,true);
$name = $arr['nickname'];//昵称
$imgURL = $arr['headimgurl'];//头像地址
$sex = $arr['sex'];//性别
$province = $arr['province'];//用户个人资料填写的省份
$city= $arr['city'];//普通用户个人资料填写的城市
$country= $arr['country'];//国家,如中国为CN

php微信企业号获取用户OpenId相关推荐

  1. php 获取企业号用户,微信企业号 获取用户信息(示例代码)

    业务操作最基础的一个功能是获取访客的身份,传统的获取方式是提供一个登录页面用以访客登录. 在微信企业号中,用户在微信中访问页面时,可以根据相关API获取此用户的微信账号信息,以此来匹配业务服务器存储的 ...

  2. 微信h5获取用户openid:基于vue3+springBoot

    一.前言 开发网页端小程序,需要用到用户openid,所以通过查找资料,现在将完整的获取流程分享给大家. 前端页面非.vue格式,而是.html格式 该项目框架为:vue3+elementPlus+s ...

  3. 微信授权获取用户openid前端实现

    近来,倒霉的后台跟我说让我拿个openid做微信支付使用,寻思很简单,开始干活. 首先引导用户打开如下链接,只需要将appid修改为自己的就可以,redirect_url写你的重定向url https ...

  4. Java实现微信授权 获取用户OpenID(简单易实现)

    接上篇,我们从微信开发文档获取openid后,感觉这种方式有点麻烦,今天给大家推荐更好的一种方法,GitHub - Wechat-Group/WxJava: 微信开发 Java SDK ,支持包括微信 ...

  5. 微信公众号获取用户openId(扩展:小程序获取openId和手机号)

    微信公众号获取用户openId 拼接的参数[可以直接配菜单中]: https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxb2363dd ...

  6. 公众号h5获取手机号权限_微信公众号h5获取用户openId的方法和步骤

    微信h5静大享上.是发了概开程态间些告人屏果会区.默.非静默授权获取用户openId的方法和步骤微和二第说,班.都年很过过事发工开宗定据发指互数个遍前互就: 一.openId是什么? openId享. ...

  7. 微信openid绑定java,微信公众号支付(一)如何获取用户openId

    一.获取apikey,appsecret与商户号 注册公众号.商户号 二.获取用户的OpenId 1.设置[授权回调页面域名] 官方解释:用户在网页授权页同意授权给公众号后,微信会将授权数据传给一个回 ...

  8. 微信OAuth授权获取用户OpenId

    https://open.weixin.qq.com/ 这个是授权登陆自己网站的和我的这个是有区别的. 博客最新更改在这里https://my.oschina.net/xshuai/blog/2934 ...

  9. H5获取微信公众号用户openId,用户信息

    一共两步:1:用户同意授权,获取code,2:将code值传给后台获取用户openId或用户信息 一.怎样获取code值 1.登录微信公众平台后台获取公众号的AppId,设置回调地址. 回调地址设置: ...

最新文章

  1. 2022-2028年中国汽车零配件行业研究及前瞻分析报告
  2. MariaDB 数据库迁移
  3. android设置输入框输入字符限制,Android里限制EditText控件可以输入字符内容的范围的方法...
  4. VC中怎么读取.txt文件
  5. 【JDK源码】java.util.concurrent.atomic包常用类详解
  6. 文件及文件组备份与还原示例.sql
  7. 电脑f2还原系统步骤_使用冰点还原电脑每次重启都会还原,打造一个百毒不侵的系统...
  8. [蓝桥杯2019初赛]修改数组-并查集
  9. CentOS7搭建ftp服务器(vsftpd,亲测成功)
  10. SpringBoot开源项目(企业信息化基础平台)
  11. Redhat或者Centos手动安装Vim,
  12. 如何在C#中使用全局鼠标、键盘Hook
  13. JAVA并发之多线程基础(3)
  14. FFmpeg编写的代码
  15. linux 能降低内核,Linux 内核移除并整改了导致性能下降 50% 的 STIBP
  16. 动量法与指数加权移动平均
  17. 找回foxmail下的邮箱密码
  18. h5+hbuilder 制作手机app
  19. 【WebServerProgramming】Ch.1 网络因特网Web
  20. 详解设置路由导航的两种方法

热门文章

  1. Softing edgePlug Docker容器产品连接西门子工业边缘
  2. Spring Boot前后端分离之后端开发
  3. 常态C的5个错误和相应的解决方案
  4. 开票系统 文化服务器,开票服务器系统
  5. Java实现 LeetCode 793 阶乘函数后K个零 (分析)
  6. COM单线程套间详解
  7. Spark 常用 API
  8. 用PaddleDetection做一个完整的目标检测项目(上)
  9. IEEE PDF格式检查
  10. r语言实现模糊c均值算法,R语言基本统计分析方法(包及函数)