微信订阅号开发之获取并显示关注用户的基本信息

这是最近几天在做的一个小 demo,要求是用 php 来实现的,所以我从零开始,先看了一会的 php 基础教程,入门后就用一晚上,两三个小时写出了这个 demo。等有空再整理好代码,封装后分享给大家。今天先来说一下微信网页开发,这一篇只是简单介绍一下网页授权获取用户基本信息的实现方式。


网页授权的实现方式

首先我们从微信公众平台的开发者文档中找到网页开发的网页授权一项,来看一下它的实现方式。我们可以发现网页授权获取用户信息可以简单的分为三步:

  1. 用户同意授权,获取 code

  2. 通过code换取网页授权 access_token

  3. 获取用户信息

需要注意的是此处的 access_token 和 平常微信开发中所用到的是不一样的,此处获取的为网页授权 access_token

另外,网页授权有两种 scope,分别为 snsapi_base 和 snsapi_userinfo 。其中 snsapi_base 为静默授权,不需要用户授权,会自动跳转到回调页面,是用来获取进入页面的用户的 openid 的;而 snsapi_userinfo 需要用户手动授权才能跳转到回调页面,用来获取用户的基本信息。

那么接下来我们开始进行网页授权,首先获取 code,用来获取网页授权 access_token ,这里因为要获取用户基本信息,所以我们选择 scope 的类型为 snsapi_userinfo ,根据开发者文档写出代码如下:

function get_code($APPID)  //用户同意授权,获取code
    {
   
    //重定向浏览器
        header("Location: https://open.weixin.qq.com/connect/oauth2/authorize?appid=".$APPID."&redirect_uri=经过 urlencode 处理后的 redirect_uri &response_type=code&scope=snsapi_userinfo&state=androxue#wechat_redirect");
        //确保重定向后,后续代码不会被执行
        exit;
    }

上面有一点需要注意的是 redirect_uri 即授权后重定向的回调链接地址,需要使用 urlencode 进行处理。

获取到 code 以后,我们就可以利用 code 来获取网页授权的 access_token 了,详情大家看开发者文档,我就不再多做解释了,利用 code 获取网页授权 access_token 的代码如下:

function get_access_token($APPID,$APPSECRET) //通过code换取网页授权access_token
    {
      
        $code = $_GET['code'];
        $access_token_info = Get("https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$APPID."&secret=".$APPSECRET."&code=".$code."&grant_type=authorization_code");
        $access_token = json_decode($access_token_info,true);
        
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值