微信公众平台实现获取用户OpenID的方法

微信公众平台实现获取用户OpenID的方法

这篇文章主要介绍了微信公众平台实现获取用户OpenID的方法,需要开发人员经过微信授权后获取高级接口才能使用此功能,用户OpenID对于微信公众平台建设有着非常广泛的用途,需要的朋友可以参考下

本文实例讲述了微信公众平台实现获取用户OpenID的方法。分享给大家供大家参考。具体分析如下:

用户点击微信自定义菜单view类型按钮后,微信客户端将会打开开发者在按钮中填写的url值 (即网页链接),达到打开网页的目的,但是view不能获取用户的openid,需要使用微信“网页授权获取用户基本信息”高级接口结合使用,获得用户的登入个人信息。

具体方法:

1、配置网页授权回调域名,如 www.jb51.net

2、模拟公众号的第三方网页,//www.jb51.net/getcodeurl.php

<?php 
if(isset($_SESSION['user'])){ 
 print_r($_SESSION['user']);
exit;
}
$APPID='公众号在微信的appid';
$REDIRECT_URI='//www.jb51.net/callback.php';
$scope='snsapi_base';
//$scope='snsapi_userinfo';//需要授权
$url='https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$APPID.'&redirect_uri='.urlencode($REDIRECT_URI).'&response_type=code&scope='.$scope.'&state='.$state.'#wechat_redirect';
header("Location:".$url);
?>

 3、第三方网页的回跳url中,首先从请求中取得code,然后根据code进一步换取openid和access_token,然后就可以根据openid和access_token调用微信的相关接口查询用户信息了。
<?php ////www.jb51.net/callback.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的微信公众平台开发有所帮助。

转载;https://www.jb51.net/article/64174.htm

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/112504.html原文链接:https://javaforall.net

(0)
上一篇 2021年11月6日 下午4:00
下一篇 2021年11月6日 下午4:00


相关推荐

  • 泰勒(Taylor)展开式(泰勒级数)

    泰勒(Taylor)展开式(泰勒级数)目录泰勒公式余项 1 佩亚诺 Peano 余项 2 施勒米尔希 罗什 Schlomilch Roche 余项 3 拉格朗日 Lagrange 余项 4 柯西 Cauchy 余项 5 积分余项 带佩亚诺余项参考资料泰勒公式泰勒公式是将一个在 x x0 处具有 n 阶导数的函数 f x 利用关于 x x0 的 n 次多项式来逼近函数的方法 若函数 f x 在包含 x0 的某个

    2026年3月18日
    1
  • 企业微信API使用基本教程[通俗易懂]

    企业微信API使用基本教程[通俗易懂]在企业微信创建自建应用登录企业微信后台,在“应用管理>自建”中点击“创建应用”,填写应用信息创建。API配置表参数值获取1、corpid:企业ID。在企业微信后台的“我的企业>企业信息”中获取。2、corpsecret:应用凭证密匙。在自建应用详情中获取。如果要使用通讯录相关API则corpsecret在“管理工具>通讯录同步”中获取。3、AesKey及token:加密的AESKEY和消息token。如果是接收外部联系人变更回调等事件信息,则在“自建应用详情>

    2022年10月2日
    9
  • Centos下添加用户到用户组

    Centos下添加用户到用户组

    2021年10月23日
    100
  • mysql中文乱码问题,phpmyadmin操作解决方法

    mysql中文乱码问题,phpmyadmin操作解决方法

    2021年9月8日
    52
  • 4个最好的PDF搜索引擎

    4个最好的PDF搜索引擎1 Searchpdf 今天刚刚发现的专业级 PDF 搜索引擎 也是基于 Google 与 PDFGeni 十分相似 收录有 225 000 000 本 Ebook 支持中文关键词 界面清爽 没有广告 搜索结果可选择浏览或直接下载 支持 iPaper 阅读器 不推荐 速度慢 网址 http search pdf books com 2 PdfGeniPdfGe 是一个专

    2026年3月17日
    2
  • linux 远程连接工具

    linux 远程连接工具有时候 我们需要操作 linux 而且通常 linux 都是作为远程服务器存在的 那么我们在自己的机子上如何远程操作服务器端的 linux 呢 这里介绍几个我常用的相关工具 我用的是 mac 系统 因此以下的几种都是支持 mac 系统的 当然大部分也支持 windows SecureCRT 先来看看远程终端工具 推荐 SecureCRT 一款很好用的工具 那么如何连接我们的远程服务器呢 选择 connect 下拉菜单中的 QuickConnect 然后填写 hostname 可以直接填 ip 端口就默认 22 然后点击连接

    2026年3月18日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号