必要条件:

1)公众号认证

2)有网页授权获取用户基本信息的权限接口

或者去

http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

微信开发者调试去注册

填写授权回调页面的域名

登录公众平台-->开发者中心-->接口权限表

找到 网页授权获取用户基本信息 然后修改-->填写你的域名.如下:

关于网页授权的两种scope的区别说明(官方)

1、以snsapi_base为scope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(往往是业务页面)

2、以snsapi_userinfo为scope发起的网页授权,是用来获取用户的基本信息的。但这种授权需要用户手动同意,并且由于用户同意过,所以无须关注,就可在授权后获取该用户的基本信息。

3、用户管理类接口中的“获取用户基本信息接口”,是在用户和公众号产生消息交互或关注后事件推送后,才能根据用户OpenID来获取用户基本信息。这个接口,包括其他微信接口,都是需要该用户(即openid)关注了公众号后,才能调用成功的。

因为scope有两中模式,所以下面分开解说:

scope为 snsapi_base 那么用户必须是关注了公众号才能取得信息

先自己建立两个文件: index.php  和  getUserInfo.php

代码实例

index.php如下:

//scope=snsapi_base 实例

$appid='你的AppId';

$redirect_uri = urlencode ( 'http://你的域名/getUserInfo.php' );

$url ="https://open.weixin.qq.com/connect/oauth2/authorize?appid=$appid&redirect_uri=$redirect_uri&response_type=code&scope=snsapi_base&state=1#wechat_redirect";

header("Location:".$url);

getUserInfo.php如下:

$appid = "你的AppId";

$secret = "你的AppSecret";

$code = $_GET["code"];

//第一步:取全局access_token

$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$secret";

$token = getJson($url);

//第二步:取得openid

$oauth2Url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appid&secret=$secret&code=$code&grant_type=authorization_code";

$oauth2 = getJson($oauth2Url);

//第三步:根据全局access_token和openid查询用户信息

$access_token = $token["access_token"];

$openid = $oauth2['openid'];

$get_user_info_url = "https://api.weixin.qq.com/cgi-bin/user/info?access_token=$access_token&openid=$openid〈=zh_CN";

$userinfo = getJson($get_user_info_url);

//打印用户信息

print_r($userinfo);

function getJson($url){

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$output = curl_exec($ch);

curl_close($ch);

return json_decode($output, true);

}

scope为 snsapi_userinfo 用户不用关注公众号,也能取到信息,但是会有一个界面让用户去点击确认!相当于一个登录授权吧!

代码实例

index.php如下:

//scope=snsapi_userinfo实例

$appid='你的AppId';

$redirect_uri = urlencode ( 'http://你的域名/getUserInfo.php' );

$url ="https://open.weixin.qq.com/connect/oauth2/authorize?appid=$appid&redirect_uri=$redirect_uri&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect";

header("Location:".$url);

getUserInfo.php如下:

$appid = "你的AppId";

$secret = "你的AppSecret";

$code = $_GET["code"];

//第一步:取得openid

$oauth2Url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appid&secret=$secret&code=$code&grant_type=authorization_code";

$oauth2 = getJson($oauth2Url);

//第二步:根据全局access_token和openid查询用户信息

$access_token = $oauth2["access_token"];

$openid = $oauth2['openid'];

$get_user_info_url = "https://api.weixin.qq.com/cgi-bin/user/info?access_token=$access_token&openid=$openid〈=zh_CN";

$userinfo = getJson($get_user_info_url);

//打印用户信息

print_r($userinfo);

function getJson($url){

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$output = curl_exec($ch);

curl_close($ch);

return json_decode($output, true);

}

(责任编辑:最模板)

php微信获取openid_PHP微信网页授权获取OPENID相关推荐

  1. 微信公众平台-测试号网页授权-获取openid方法

    文章目录 1.创建自己的测试号 2.测试号管理信息填写(注意仔细一步步对照) 3.手动获取openid 4.使用SDK获取openid 1.创建自己的测试号 通过申请链接:https://mp.wei ...

  2. asp.net获取浏览器的唯一标识_vue单页面应用如何在微信浏览器里进行网页授权获取用户信息

    前言 在vue单页面应用比较流行的时代,如何把vue应用和微信公众号两者结合在一起也是比较常见的功能.如果仅仅是把一个vue应用放在公众号上,没有进行额外的微信功能开发,如:获取用户信息,支付,分享等 ...

  3. Spring Boot 微信-网页授权获取用户信息

    微信-验证服务器有效性 微信-网页授权获取用户信息 网页授权获取用户信息步骤 第一步:用户同意授权,获取code 第二步:通过code换取网页授权access_token 第三步:拉取用户信息(需sc ...

  4. 微信开发 网页授权获取用户基本信息

    微信公众平台最近新推出微信认证,认证后可以获得高级接口权限,其中一个是OAuth2.0网页授权,很多朋友在使用这个的时候失败了或者无法理解其内容,希望我出个教程详细讲解一下,于是便有了这篇文章. 一. ...

  5. 微信开发之网页授权获取用户基本信息

    微信官方文档:网页授权获取用户基本信息 具体而言,网页授权流程分为四步: 1.引导用户进入授权页面同意授权,获取code https://open.weixin.qq.com/connect/oaut ...

  6. 微信接口开发之高级篇系列【网页授权获取用户基本信息】

    PHP微信接口开发之高级篇之网页授权获取用户基本信息 二.WEB开发工具 转载于:https://www.cnblogs.com/tinywan/p/5860981.html

  7. Weixin4j微信开发网页授权获取openid案例

    前言 weixin4j网页静默授权获取openid案例 **说明:**微信网页授权基础知识请参考官方文档. 静默授权获取OpenId 本 示例基于weixin4j开发,weixin4j是Java微信开 ...

  8. 第八篇 :微信公众平台开发实战Java版之如何网页授权获取用户基本信息

    第一部分:微信授权获取基本信息的介绍 我们首先来看看官方的文档怎么说: 如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑. 关于网页授权回调域 ...

  9. 微信网页授权获取用户基本信息 --- 20/03/16

    ThinkPHP5实现微信网页授权获取用户基本信息 本次使用的appID与appSecret为公众号 一:准备工作 登录微信公众平台,左侧菜单下拉至开发选中基本配置 启用开发者密码(AppSecret ...

  10. PHP开发之-微信网页授权获取用户基本信息

    如何通过网页授权获取用户基本信息(国家,省,市,昵称)相关信息 必要条件: 1)公众号认证 2)有网页授权获取用户基本信息的权限接口 注意:最近有朋友说:在公众平台申请的测试号,会出现无法取到用户信息 ...

最新文章

  1. 聚类:基本概念和方法
  2. OTL调用Oracle存储过程
  3. thinkphp中出现unserialize(): Error at offset 533 of 1857 bytes如何解决
  4. linux下根据进程查找文件启动文件
  5. jqueryeasyui datebox 设置默认值
  6. windows to go 命令行模式建立
  7. Android打开jsp页面,如何确定是通过jsp页面上的Android设备还是IOS设备访问网页
  8. php高效下载文件,LinkCache
  9. 计算多个文档之间的文本相似程度
  10. 银行离开IBM必死?国货10年内无法接盘
  11. 机器视觉系统中相机的分辨率怎么选择?
  12. 笨猪猪:“暹粒游记”(上)
  13. Ckeditor编辑器的配置使用
  14. ASD: Average Surface Distance
  15. 主梁弹性模量计算_混凝土松弛系数的实用计算
  16. 笔试c语言编程题技巧,c语言笔试题答题技巧
  17. mysql 脏页刷新_InnoDB脏页刷新机制
  18. 记录安装Ubuntu16.04后必须要做的事,杂篇
  19. 基于springboot的汽车配件管理系统
  20. CS61A Lab 2

热门文章

  1. NOVELL NetWare 下的数据恢复
  2. [Unity算法]斜抛运动(变种)
  3. lfs库下载_lua使用lfs.dll库进行文件操作
  4. 慧之声科技-2019云呼叫时代
  5. 一文读懂人工智能、机器学习、深度学习、强化学习的关系(必看)
  6. cad缩放_CAD常见问题详解,解决你当前的烦恼
  7. pr开放式字幕(同步台词)
  8. Android Studio中HTTP的请求
  9. Word下修改默认新建样式模板方法
  10. 收藏--hibernate——继承关系以及三个subclass标签的区别