java 微信小程序授权获取用户手机号码 (完整demo)

这篇具有很好参考价值的文章主要介绍了java 微信小程序授权获取用户手机号码 (完整demo)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 前端获取动态令牌 code

微信小程序获取用户手机号码(后台jsp、java版),微信小程序 V3,微信小程序,小程序

https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNumber.html
2. 后端接收令牌code, 调用微信获取手机号接口

微信小程序获取用户手机号码(后台jsp、java版),微信小程序 V3,微信小程序,小程序文章来源地址https://www.toymoban.com/news/detail-806646.html

POST https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token=ACCESS_TOKEN
3. controller
    /**
     * 获取用户手机号
     *
     * @param code  动态令牌。可通过动态令牌换取用户手机号
     *              注:getPhoneNumber 返回的 code 与 wx.login 返回的 code 作用是不一样的,不能混用
     * @return
     */
    @ApiOperation("获取用户手机号")
    @GetMapping("/getPhoneNumber")
    public AjaxResult getPhoneNumber(String code){
        return lsUserService.getPhoneNumber(code);
    }
4. service
    /**
     *  获取用户手机号
     *
     * @param code  手机号获取凭证
     * @return
     */
    @Override
    public AjaxResult getPhoneNumber(String code) {

        if (StringUtils.isEmpty(code)) {
            return AjaxResult.error("手机号获取凭证不能为空 !");
        }
        log.info("手机号获取凭证: {}", code);
        try {
            //通过appid和secret来获取token
            String tokenUrl = String.format("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s", WxPayUtils.appId, WxPayUtils.appSecret);
            JSONObject token = JSON.parseObject(HttpUtil.get(tokenUrl));

            //通过token和code来获取用户手机号
            String url = "https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token=" + token.getString("access_token");

            //封装请求体
            Map<String, String> paramMap = new HashMap<>();
            paramMap.put("code", code);

            //封装请求头
            HttpHeaders headers = new HttpHeaders();
            headers.setContentType(MediaType.APPLICATION_JSON);

            HttpEntity<Map<String, String>> httpEntity = new HttpEntity<>(paramMap,headers);

            //通过RestTemplate发送请求,获取到用户手机号码
            RestTemplate restTemplate = new RestTemplate();
            ResponseEntity<JSONObject> response = restTemplate.postForEntity(url, httpEntity, JSONObject.class);
            String errmsg = response.getBody().getString("errmsg");
            if (errmsg.equals("ok")) {
                JSONObject phoneInfoJson = response.getBody().getJSONObject("phone_info");
                String phoneNumber = phoneInfoJson.getString("phoneNumber");
                return AjaxResult.success(phoneNumber);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return AjaxResult.error("手机号获取失败");
    }

到了这里,关于java 微信小程序授权获取用户手机号码 (完整demo)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序获取用户手机号码教程(前端+后端)

    在开发一款微信小程序时,需要用户进行微信登录,获取用户的手机号码来作为用户的唯一标识(userId),于是探索获取用户手机号码的方式; (当然,通过wx.login来获取code,进而换取用户的openid也是可以的) 目前版本的微信小程序获取用户手机号码的方式如下: 前端开发

    2024年02月12日
    浏览(38)
  • 微信小程序-授权登录(手机号码)

    template     view class=\\\"work-container\\\"         view class=\\\"login\\\"             view class=\\\"content\\\"                 button class=\\\"button_wx\\\" open-type=\\\"getPhoneNumber\\\" @getphonenumber=\\\"getPhoneNumber\\\"                     u-icon name=\\\"weixin-fill\\\" color=\\\"#FFFFFF\\\" size=\\\"50\\\"/u-icon                     

    2024年02月06日
    浏览(42)
  • 微信小程序授权手机号码登录

    因公司项目需要做微信小程序相关项目,故记录一下相关开发要点。 使用的是binarywang工具包,版本为4.1.0。 后端框架使用springboot 更多其他功能使用推荐查看https://github.com/binarywang/binarywang 3.1 微信小程序开发的相关配置 在application.yml文件中配置 3.2创建配置文件 代码如下(示

    2024年02月09日
    浏览(45)
  • 【微信小程序】如何获取用户手机号授权登录

    目前该接口针对非个人开发者,且完成了认证的小程序开放(不包含海外主体),也就是说只针对企业认证小程序开放。若用户举报较多或被发现在不必要场景下使用,微信有权永久回收该小程序的该接口权限。 在使用该接口时,用户可使用微信绑定手机号进行授权,也添加

    2024年02月16日
    浏览(53)
  • 微信小程序中如何获取用户手机号授权登录

    随着微信小程序的普及,许多应用程序需要用户登录才能提供更好的服务。而获取用户手机号码是验证用户身份和确保账户安全的重要步骤之一。因此,在本文中,我们将介绍如何在微信小程序中实现手机号授权登录。 首先,在小程序后台开发设置中勾选“获取手机号”选项

    2024年02月11日
    浏览(80)
  • 微信小程序获取用户的openid以及授权登录拿到用户头像及姓名

    在微信小程序中,往往需要将用户信息录入自己的数据库中,就得有一个唯一标记区分用户,这个标记就是openid。 我这里用云函数的方式,比较简单 先创建一个名为getOPenid的云函数  在云函数中获取微信调用上下文cloud.getWXContext  可选择性的返回openid、appid、unionid等,可详细查

    2024年02月12日
    浏览(44)
  • 微信小程序:登录授权,根据手机号获取凭证,获取用户手机号

    1.微信小程序授权 controller 层代码 wxUtils 工具类 2.微信小程序,用户手机号获取 微信小程序,根据code(code为手机号获取凭证)获取用户加密手机号 获取用户手机号方法

    2024年02月14日
    浏览(46)
  • 微信小程序登录及获取手机号码

    前端:微信先授权登录后再授权获取手机号码 后端:先微信登录获取openid返回前端,前端再传递手机号码code给后端获取手机号码并在本地数据量注册用户信息,需提供2个接口 第一步:先通过code微信授权登录获取openid 第二步:根据app_id和app_secret获取access_token 第三步:根据

    2024年02月12日
    浏览(49)
  • 微信小程序实现登录授权,并将获取到的用户授权信息存储到数据库中

    官方开发文档 注意:在实现授权登录时,不要使用测试号进行 wx.getUserProfile使用文档 config文件代码如下 路由模块 主要代码(如果不想多个文件,可以将wxuserHandle.wxuser这个位置内容替换为exports.wxuser的内容) 注意: 在返回token的字符串拼接时,Bearer 后面必须有一个空格 数据

    2024年02月10日
    浏览(42)
  • 微信小程序登录+获取手机号码(前端+后端)

    上面这张是微信小程序官方原图,登录流程如上图所示,下面一步步进行以及说一下碰到的坑。 1.wx.login()获取code         调用微信小程序官方提供的方法获取code提供给后端用以换取session_key、openid。         注意:code只能使用一次就会失效,且有效期为5分钟 2.后端收到

    2024年02月12日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包