怎么获取关注公众号的用户OpenID?

以下内容也是我测试过的内容,主要也是通过官方的文档发现的这个API,如果不仔细阅读可能也不会发现这个功能,会让我的项目进度卡住!!!

以下就是官方文档的API:微信网页开发 / 网页授权 (qq.com)

主要就是通过这个网页授权的功能去获取到微信用户的openID,其实就像我们平时进入一个页面啊什么的,就会弹出一个授权的页面一样。

具体的内容就看文档即可,主要就是需要去配置自己的域名,必须是HTTPS的请求,不然不生效。

注:这些功能的前提条件是我最开始写微信公众号的那篇文章的内容,必须先通过微信验证!!!

文章地址:微信公众号模板消息接口开发实现_微信公众号模板接口-优快云博客

然后下面就是开发代码(简单):

//生成授权链接    
@GetMapping("/×××××")
    @ApiOperation(value = "获取用户授权地址")
    public ResultBean<String> getWxUrl() throws IOException {
        String urlString = URLEncoder.encode("填写自己需要回调的地址接口", "UTF-8");
        String url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=填写自己的appid&redirect_uri=" + urlString + "&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect";
        return new ResultBean<>(url);
    }


    //回调的地址接口
    @GetMapping("×××××")
    @ApiOperation(value = "获取用户的openId")
    public ResultBean<String> geUserOpenId(@RequestParam("code") String code,
                                    @RequestParam("state") String state) throws IOException {
        Map<String,String> map=new HashMap<>();
        String access_url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=填写自己的appid&secret=填写自己的secret&code=" + code + "&grant_type=authorization_code";
        String post = HttpRestUtils.post(access_url, "");
        com.alibaba.fastjson.JSONObject jsonObject = com.alibaba.fastjson.JSONObject.parseObject(post);
        String openid = jsonObject.getString("openid");
        map.put("openid",openid);
        String access_token = jsonObject.getString("access_token");
        String urls = "https://api.weixin.qq.com/sns/userinfo?access_token=" + access_token + "&openid=" + openid + "&lang=zh_CN";
        String posts = HttpRestUtils.post(urls, "");
        com.alibaba.fastjson.JSONObject postsJsonObject = com.alibaba.fastjson.JSONObject.parseObject(posts);
        String nickname = postsJsonObject.getString("nickname");//微信昵称
        //根据自己的需求去获取数据并且返回即可
        return new ResultBean<>(posts);
    }

 然后发现下来其实这个功能非常简单。关联起来之后呢,把openId与用户进行对照,就可以根据需求给某一个用户进行消息通知的,是会方便许多。

好滴,谢谢大家的持续关注!!!

在开发与微信公众号相关的Html5页面时,获取用户openid是实现个性化服务的关键步骤。为了帮助你理解并掌握这一过程,建议参考以下资料:《Html5页面获取微信公众号openid的方法》。这份指南详细介绍了在微信浏览器中实现openid获取的各个环节,以及如何处理用户授权,保证了方法的实用性和效率。 参考资源链接:[Html5页面获取微信公众号openid的方法](https://wenku.youkuaiyun.com/doc/6401abf9cce7214c316ea2ce?spm=1055.2569.3001.10343) 首先,判断当前页面是否需要引导用户进行授权操作。如果页面需要用户openid,则应向用户提供授权信息,并引导其完成授权。在获取用户授权后,页面将获得一个临时授权码(code)。这个code应立即发送到开发者服务器进行处理,以换取真实的openid。 具体实现步骤如下: 1. 检查页面URL的查询参数中是否存在'code'参数,该参数是微信服务器发放的临时授权码。 2. 如果存在'code'参数,则直接将其发送至服务器端,并由服务器与微信服务器交互获取openid。 3. 如果不存在'code'参数,则引导用户跳转至微信提供的授权页面,用户同意授权后,微信服务器将'code'参数重定向回页面指定的回调地址。 4. 在服务器端,使用'code'参数请求微信开放平台的access_token接口,并在获取到access_token之后,使用该token调用接口获取openid。 5. 获取openid后,进行本地存储,以便后续使用。 6. 为了提高用户体验,可以设置一个关注二维码弹窗,在用户扫码关注后继续获取openid的流程,但要确保这个弹窗不能被关闭。 通过这种方式,你可以在确保用户隐私的同时,有效地获取并利用openid。如果你需要更多关于微信公众号开发的高级技巧或遇到其他技术难题,可以继续查阅《Html5页面获取微信公众号openid的方法》这份资料。这份资料不仅涵盖了openid获取的整个流程,还包括了代码示例和常见问题解答,是深入学习微信开发不可或缺的资源。 参考资源链接:[Html5页面获取微信公众号openid的方法](https://wenku.youkuaiyun.com/doc/6401abf9cce7214c316ea2ce?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值