精华内容
下载资源
问答
  • 1、从微信后台获取code:用户请求微信后台,带上appid等参数 “https://open.weixin.qq.com/connect/oauth2/authorize?appid=” + appId + “&redirect_uri=” + redirectUri + “&response_type=code&scope=snsapi_...
  • 本文实例为大家分享了微信公众平台实现获取用户OpenID的方法,供大家参考,具体内容如下 Index.aspx.cs代码: public partial class Index : System.Web.UI.Page { //用户id public string openid = ; //公众号...
  • php微信授权获取openid

    2019-04-08 12:55:39
    php微信授权获取openid,并且跳转到当前页面。若是无法获取到相关微信授权信息,看看php.ini是否开启openssl,或打印json_error获取错误信息。openid用处很多,你可应用在微信扫码登录,jsAPI公众号支付等场景
  • C#获取openid(详解)

    2019-06-26 11:52:47
    本代码作用于前后端分离获取微信openId,调用说明:在api中新建一个Default.aspx页面,复制文件中代码到页面中,修改appid,key,webAddr值。部署api;前端跳转url:api地址+“/efault.aspx?reurl="+前端页面地址;如果...
  • java微信获取OpenId

    2018-03-23 10:04:25
    微信开发获取openId
  • 主要介绍了微信小程序如何获取openid及用户信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 小程序获取openid实例

    2018-12-26 00:44:13
    小程序前端获取openid的一个小demo,在js获取openid然后显示在前端界面上
  • 访问 http://xxasd.com/wx 就能获取授权啦,然后返回主页,简单易懂
  • 小程序获取openid唯一标识,后台是java。包括微信小程序源码和java源码
  • 微信公众号开发获取openid和微信分享和公众号配置验证,网页授权后台代码,获取openid,微信分享,公众号配置验证,代码齐全
  • 获取openId | 小程序

    2021-03-29 18:10:15
    最近项目中需要使用微信授权,继上一篇《关于微信小程序拒绝授权后,重新授权并获取用户信息》之后,需要获取用户的openId,开发测试时,发现无论如何都获取不到; 官方文档如下: (此图片来源于网络,如有侵权,请...
  • php-微信公众号联合登录&微信小程序获取openid&头条获取openid,遇到问题可以@我
  • 小程序获取openID、获取手机号前后端demo。其中demo为后端代码,finance-report为小程序代码。
  • 微信小程序根据wx.login得到的code从Csharp后台获取openid和session_key(后台实现了4种方式调用jscode2session)
  • java解析的源码和小程序的源码,自己从项目中剥离出来的,肯定能用,有疑问私信,微信小程序获取各类信息(openid、session_key以及用户基本信息、解密手机号)
  • tp框架获取openid并登录的demo,并且成功,分享给大家
  • TP5微信小程序获取openid和unionid代码 俩种方式:1获取openid 判断数据库是否存在获取unionid 2.获取openid后不存在 走官方button按钮 的getuserinfo去获取unionid
  • 小程序获取openid,看之前的官方文档写的不清楚,自己摸索后才发现很简单,当修改secret后记得在文件里更新密码和qppId,这是个坑
  • 小程序获取openid(亲测通过) 用C#后台代码写的 包括小程序前台与后台代码
  • 微信小程序后端开发demo,包括获取openid、微信支付(统一下单、支付回调、企业付款)
  • 如何获取小程序的用户openid和unionid,以及后台C#代码
  • 微信公众号通过网页授权获取openid等用户基本信息。 开发者需要先到微信公众平台官网中的开发者中心页配置授权回调域名
  • 很简单的方法获取微信openid 可用于微信登陆网页等操作。php 微信开发获取 Openid 封装类
  • openId : 用户在当前小程序的唯一标识  unionId : 如果开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序),可通过unionid来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用...
  • 微信公众号获取openid

    2017-11-01 10:36:26
    两种方式获取微信用户openid,有图文介绍,代码是全的,可以直接拿来用
  • 微信公众号通过appid和appsecret获取个人信息,包括微信头像,昵称,openid,性别等...
  • } /** * 获取openid和access_token 这里的 access_token与基本的access_token不是一个东西具体看官方文档 * @param code 微信code 可以通过后台获取 或者 让前端传过来 * @return */ public Map, Object> getOpenId...

    微信开放官方文档

    https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Overview.html

    微信测官方测试号

    http://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index

    微信授权

    一.先准备内网穿透

    在此采用的是natapp 最好配置端口号为80 项目暂时也改成80

    二.配置微信官方测试

    在这里插入图片描述
    在这里插入图片描述

    流程说明

    在这里插入图片描述

    三.代码部分

      		<!--糊涂工具类 ps:需要里面的http客户端发送工具-->
            <dependency>
                <groupId>cn.hutool</groupId>
                <artifactId>hutool-all</artifactId>
                <version>5.3.7</version>
            </dependency>
    

    还有一些没有添加上的依赖在此就不在添加了 主要是 校验之类的一些内容自行判断一下几个包括返回对象

    微信公众号工具类

    package com.dog.common.utils.wx;
    
    import cn.hutool.http.HttpUtil;
    
    import cn.hutool.json.JSONObject;
    import cn.hutool.json.JSONUtil;
    import com.dog.common.exception.CustomException;
    import com.dog.common.utils.StringUtils;
    import lombok.extern.log4j.Log4j2;
    import org.springframework.stereotype.Component;
    import org.springframework.stereotype.Service;
    
    import javax.servlet.http.HttpServletResponse;
    import javax.validation.constraints.NotBlank;
    import java.io.IOException;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
    
    /**
     * @program: dog
     * @description: 微信工具类
     * @author: @DogElder
     * @create: 2021-04-13 23:51
     **/
    @Log4j2
    @Service
    public class WxUtils {
        /**
         * 微信公众号appid
         */
        private static final String APPID = "*****";
        /**
         * 微信公众号secret
         */
        private static final String SECRET = "*****";
        /**
         * 域名 域名和图中配置的不一样 域名更改记得和微信配置保持一致
         */
        private static final String DOMAIN_NAME = "http://8sg95s.natappfree.cc";
    
    
        /**
         * 获取微信的code
         *
         * @param response 响应体
         * @return 重定向
         */
        public String getWxCode(HttpServletResponse response) {
            // 第一步:用户同意授权,获取code
            StringBuilder path = new StringBuilder();
            //微信公众号appid
            path.append("https://open.weixin.qq.com/connect/oauth2/authorize?appid=").append(APPID);
            //重定向的地址
            path.append("&redirect_uri=").append(DOMAIN_NAME).append("/getWxgzhUser");
            path.append("&response_type=code");
            /*
             *以snsapi_base为scope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(往往是业务页面)
             *以snsapi_userinfo为scope发起的网页授权,是用来获取用户的基本信息的。但这种授权需要用户手动同意,并且由于用户同意过,所以无须关注,就可在授权后获取该用户的基本信息。
             */
            path.append("&scope=").append("snsapi_userinfo");
            path.append("&state=STATE");
            path.append("&connect_redirect=1#wechat_redirect");
            try {
                response.sendRedirect(path.toString());
            } catch (IOException e) {
                log.error("获取微信code失败: " + e.getMessage());
            }
            //必须重定向,否则不能成功
            return "redirect:" + path.toString();
        }
    
        /**
         * 获取openid和access_token 这里的 access_token与基本的access_token不是一个东西具体看官方文档
         * @param code 微信code 可以通过后台获取 或者 让前端传过来
         * @return
         */
        public Map<String, Object> getOpenId(@NotBlank(message = "微信code不能为空/空串") String code) {
           return this.getOpenId(APPID, SECRET, code);
        }
    
        /**
         * 获取openid和access_token 这里的 access_token与基本的access_token不是一个东西具体看官方文档
         * @param appid  微信公众号appid
         * @param secret 微信公众号secret
         * @param code   微信code 可以通过后台获取 或者 让前端传过来
         * @return
         */
        public Map<String, Object> getOpenId(@NotBlank(message = "微信appid不能为空/空串") String appid
                , @NotBlank(message = "微信secret不能为空/空串") String secret
                , @NotBlank(message = "微信code不能为空/空串") String code) {
            StringBuilder path = new StringBuilder();
            path.append("https://api.weixin.qq.com/sns/oauth2/access_token?appid=").append(appid);
            path.append("&secret=").append(secret);
            path.append("&code=").append(code);
            path.append("&grant_type=authorization_code");
    
            //发送请求 响应微信返回的参数
            String res = HttpUtil.get(path.toString());
            JSONObject jsonObject = JSONUtil.parseObj(res);
            String openid = jsonObject.getStr("openid");
            String access_token = jsonObject.getStr("access_token");
            if (StringUtils.isEmpty(openid) || StringUtils.isEmpty(access_token)) {
                log.error("openid或access_token参数为空");
                throw new CustomException("openid或access_token参数为空");
            }
            Map<String, Object> map = new HashMap<String, Object>();
            map.put("openid", openid);
            map.put("access_token", access_token);
            return map;
        }
    
        /**
         * 获取用户信息
         *
         * @param openid 用户openid
         * @param accessToken 用户access_token
         * @return
         */
        public Map<String, Object> getUserInfo(@NotBlank(message = "微信openid不能为空/空串")String openid
                                               ,@NotBlank(message = "微信accessToken不能为空/空串") String accessToken) {
            StringBuilder path = new StringBuilder();
            path.append("https://api.weixin.qq.com/sns/userinfo?access_token=").append(accessToken);
            path.append("&openid=").append(openid);
            String res = HttpUtil.get(path.toString());
            JSONObject jsonObject = JSONUtil.parseObj(res);
            Map<String, Object> map = jsonToMap(jsonObject);
            return map;
        }
    
    
        /**
        * @Description: json对象转为map
        * @Param: jsonObject
        * @return: Map
        * @Author:@Dog_Elder
        * @Date: 2021/4/14
        */
        public static Map<String,Object> jsonToMap(JSONObject jsonObject){
            Map<String, Object> map = new HashMap<String, Object>();
            Iterator it = jsonObject.entrySet().iterator();
            while (it.hasNext()) {
                Map.Entry<String, Object> entry = (Map.Entry<String, Object>) it.next();
                map.put(entry.getKey(), entry.getValue());
            }
            return map;
        }
    
    
    }
    
    

    Controller

    /**
     * @program: dog
     * @description:
     * @author: @Dog_Elder
     * @create: 2021-03-13 16:26
     **/
    @RestController
    public class DemoController {
    
        @Autowired
        private WxUtils wxUtils;
    
        /**
         * 前端向服务器获取微信的code
         */
        @GetMapping("/getWxCode")
        public void getWxCode(HttpServletResponse response) {
            wxUtils.getWxCode(response);
        }
    
        /**
         * 根据获取code的重定向方法 获取openId和access_token
         *
         * @param request
         * @return
         */
        @GetMapping("/getWxgzhUser")
        public AjaxResult getWxgzhApi(HttpServletRequest request) {
            String code = request.getParameter("code");
            return AjaxResult.success(wxUtils.getOpenId(code));
        }
    
        /**
         * 获取用户信息
         * 必须是用户手动授权才可以获取用户信息 否则 无法获取
         *
         * @param openid      用户openid
         * @param accessToken 用户access_token
         * @return
         */
        @GetMapping("/getWxUserInfo")
        public AjaxResult getWxUserInfo(
                @NotBlank(message = "openid不能为空/空串") String openid
                , @NotBlank(message = "accessToken/空串") String accessToken) {
            return AjaxResult.success(wxUtils.getUserInfo(openid, accessToken));
        }
    
    }
    

    四.测试部分

    1. 先关注微信测试公众号

    2. 链接需要通过微信浏览器打开 用 手机微信或电脑微信或微信开发工具打开

    在这里插入图片描述

    在这里插入图片描述

    此时已经拿到了access_tokenopenid 注意想获取用户的基本信息必须是用户手动授权的才可以获取用户信息

    在这里插入图片描述

    展开全文
  • uniapp获取openid

    千次阅读 2021-11-08 14:41:48
    uniapp获取openid wx.login({ success: function(res) { console.log('resCode', res) //发起网络请求 wx.request({ url: 接口地址, data: { code...

    uniapp获取openid

    wx.login({
    							success: function(res) {
    								console.log('resCode', res)
    				
    								//发起网络请求
    								wx.request({
    									url: 接口地址,
    									data: {
    										code: res.code
    									},
    									success: res => {
    										console.log('res获取openid', res, res.data.openid);
    										// this.openid = res.data.openid;
    										console.log('this.openid', res.data.openid)
    							}
    						});
    
    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 40,438
精华内容 16,175
关键字:

怎么获取openid