精华内容
下载资源
问答
  • PHP如何获得Openid,微信公众号通过appid和appsecret获取Openid,该类实现了从微信公众平台获取code、通过code获取openid和access_token、
  • 微信公众号获取用户openid有两种方式 一种需要用户授权获取的用户数据相对较多,如用户名称、头像等,还有一种无需授权获取直接上代码, 获取用户openid首先要获取code,然后将code作为参数调用微信api获取openid...

    微信公众号获取用户openid有两种方式 一种需要用户授权获取的用户数据相对较多,如用户名称、头像等,还有一种无需授权获取直接上代码 ,

    获取用户openid首先要获取code,然后将code作为参数调用微信api获取openid代码如下,

    package com.manage.spring.GetOpendiddemo;
    
    import java.io.IOException;
    import java.io.UnsupportedEncodingException;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.http.HttpResponse;
    import org.apache.http.client.ClientProtocolException;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.impl.client.CloseableHttpClient;
    import org.apache.http.impl.client.HttpClientBuilder;
    import org.apache.http.util.EntityUtils;
    import org.json.JSONException;
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    import com.alibaba.fastjson.JSON;
    import com.wx.consts.WxConfig;
    
    @Controller
    public class GetOpendiddemo {
    	
    	@RequestMapping(value = "getCode")
    	public void getOpenId(HttpServletResponse response, Model model)
    			throws IOException {
    		//先获取code
    		String url = getOpenIdUrl();
    		//得到的code传入获取openid参数
    		response.sendRedirect(url);
    	}
    
    	//获取code
    	public static String getOpenIdUrl() throws ClientProtocolException,
    			UnsupportedEncodingException {
    		String url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect";
    		//appid
    		String appid = WxConfig.APPID;
    		String REDIRECT_URI = "https://XXXX/XXX";// 你的回调页
    		//参数utf-8
    		url = url.replace("APPID", java.net.URLEncoder.encode(appid, "utf-8"));
    		url = url.replace("REDIRECT_URI",java.net.URLEncoder.encode(REDIRECT_URI, "utf-8"));
    		return url;
    	}
    	
    	//获取openid
    	@RequestMapping({ "getOpendid" })
    	@ResponseBody
    	public static String getopendid(String code,Model model) throws ClientProtocolException, IOException, JSONException {
    		CloseableHttpClient httpClient = HttpClientBuilder.create().build();
    		String url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=AppId&secret=AppSecret&code=CODE&grant_type=authorization_code";
    		url = url.replace("AppId", WxConfig.APPID).replace("AppSecret", WxConfig.APPSECRET).replace("CODE", code);
    		HttpGet httpGet = new HttpGet(url);
    		HttpResponse response = httpClient.execute(httpGet);
    		String jsonStr = EntityUtils.toString(response.getEntity(), "utf-8");
    		com.alibaba.fastjson.JSONObject jsonTexts = JSON.parseObject(jsonStr);
    		String openid = "";
    		if (jsonTexts.get("openid") != null) {
    			openid = jsonTexts.get("openid").toString();
    		}
    		return openid;
    	}
    }
    

    需要注意的是回调页面的域名须在微信公众号进行授权 : 

    展开全文
  • 在微信公众号中,获取关注用户OPENID。代码是用C#来进行开发的。
  • java微信公众号获取用户openid

    千次阅读 2020-05-13 15:48:51
    * 获取用户openid,获取token链接在公众号上 * */ @RequestMapping(value="getopenIDCODE.do") public String getopenIDCODE(String code, String openid, HttpServletRequest request, HttpServletResponse ...
    	/**
    	 * 获取用户openid,获取token链接在公众号上
    	 * */
        @RequestMapping(value="getopenIDCODE.do")
        public String getopenIDCODE(String code, String openid, HttpServletRequest request, HttpServletResponse response, ModelMap model) throws Exception {
        	JSONObject json = HttpClient.forJsonResult(getOpenId(code), null, "GET");
        	openid = json.getString("openid");
        	System.out.println("这里是获取openid---------------------------------------==================================="+openid);
        	//将openid储存在session中,用来前台调用
        	HttpSession session = request.getSession();
        	session.setAttribute("openid", openid);
        	String openidB=(String) session.getAttribute("openid");
        	Cookie userCookie=new Cookie("openid",openid); 
            userCookie.setMaxAge(30*60);   //存活期为30分钟 
            userCookie.setPath("/");
            response.addCookie(userCookie);
        	System.out.println("这里是从session中拿到openid---------------------------------------==================================="+openid);
        	return "isEdit.html";
        }
    
    /**
         * 获取用户授权 得到openId,accessToken
         *
         * @param code
         * @return
         */
        public String getOpenId(String code) {
        	String APPID = readProperty("APPID");
        	String APPSECRET = readProperty("APPSECRET");
            String tokenUrl = "https://api.weixin.qq.com/sns/oauth2/access_token?grant_type=authorization_code";
            tokenUrl = tokenUrl + "&appid=" + APPID + "&secret=" + APPSECRET + "&code=" + code;
            return tokenUrl;
        }
    
    展开全文
  • 本文demo下载:wisdomdd.cn在开发微信公众号时,一旦... OpenId相应于用户唯一主键注意: 上面视频中漏掉了一个很重要的点: 网页授权获取用户基本信息需要修改其相应的域名(这个域名也是访问项目的域名) 如果没有相...

    本文demo下载:wisdomdd.cn

    在开发微信公众号时,一旦用户关注了微信公众号,用户后续的操作已经跟用户的信息进行了绑定,那这些绑定的信息其它是通过OpenId进行的,每个用户关注不同的微信公众号时会产生唯一且不同的OpenId, OpenId相应于用户唯一主键


    注意:  上面视频中漏掉了一个很重要的点:  网页授权获取用户基本信息需要修改其相应的域名(这个域名也是访问项目的域名) 如果没有相应的配置,是无法获取用户openId与基本信息的

     blob.png


    1. 微信公众号平台链接:  https://mp.weixin.qq.com   , 注册,登录,进入主界面 



    2. 如果你已经在 【开发】->【基本配置】中启用了服务器配置, 那么【功能】->【自定义菜单】不能界面化定制菜单

       此时只能以开发的形式定制菜单


    3. 【开发】->【开发者工具】->【公众平台测试帐号】使用微信提供的测试号进行开发测试,等功能调试完毕之后,再认证正式     环境的公众号, 正式环境与测试环境的配置是一样的


    4.  配置菜单, 下载项目后, 根据自身项目的配置,更改menu.txt中的url内容, 然后根据上面的视频配置公众号的菜单

         blob.png

    配置成功后,如下所示

    blob.png


    5. 点击菜单【获得OpenId】, 如下图

    blob.png


    6. 点击菜单【获取用户信息】, 如下图

     blob.png




    展开全文
  • 微信公众号获取用户openId 拼接的参数【可以直接配菜单中】: ... redirect_uri参数错误 注意要点:redirect_uri回调的地址不能是网站根目录……我特么气死,所以默认进入跳转login页面;... charset=utf-8") @...

    微信公众号获取用户openId

    拼接的参数【可以直接配菜单中】:

    https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxb2363dd5274190f4&redirect_uri=http://www.xxx.site/login&response_type=code&scope=snsapi_base&state=test#wechat_redirect

    遇到的坑:

    redirect_uri参数错误

    注意要点:redirect_uri回调的地址不能是网站根目录……我特么气死,所以默认进入跳转login页面;

     

     

    文章传送门:

    官方文档说明

    微信授权获取用户openId的方法和步骤

     

    扩展:小程序获取openId和手机号

    点击查看详情

    示例代码:

    /**
     * 微信小程序获取用户信息
     * isRegister:是否已注册官网账号
     */
    @ApiOperation(value = "微信小程序获取用户信息",httpMethod = "POST", notes = "微信小程序获取用户信息")
    @RequestMapping(value = "/WeChat/userInfo", method = RequestMethod.POST, produces = "application/json; charset=utf-8")
    @ResponseBody
    public String WeChatUserInfo(@RequestParam("code") String code,
                                 @RequestParam("encryptedData") String encryptedData,
                                 @RequestParam("iv") String iv) throws Exception {
        String result = HttpClientUtils.GET_REQUEST("https://api.weixin.qq.com/sns/jscode2session?appid=公众号appid&secret=公众号秘钥&js_code="+code+"&grant_type=authorization_code");
        System.out.println(result);
        Result resultReturn = new Result();
        try {
            //请求成功sessionMap即可拿到openid和session-key
            Map sessionMap = JSON.parseObject(result, Map.class);
            String sessionKey = (String) sessionMap.get("session_key");
            //解密
            String mobileResult = AESDecodeUtils.decrypt(sessionKey,iv,encryptedData);
            Map mobileMap = JSON.parseObject(mobileResult, Map.class);
            //purePhoneNumber-没有区号的手机号
            String mobileNo = (String) mobileMap.get("purePhoneNumber");
            Map userInfo = userService.findUserByMobileNo(mobileNo);
            resultReturn.setSuccess(true);
            if (userInfo == null){
                userInfo = new HashMap();
                resultReturn.setMsg(mobileNo+"手机号未注册");
                userInfo.put("mobileNo",mobileNo);
                userInfo.put("isRegister",false);
            }else{
                userInfo.put("isRegister",true);
            }
            resultReturn.setObj(userInfo);
        }catch (Exception e){
            e.printStackTrace();
            logger.error("小程序获取个人信息失败!"+e.getMessage());
            resultReturn.setMsg("获取个人信息失败!");
        }
        return JSON.toJSONString(resultReturn);
    }

    OKK的感觉都很简单………………为什么早些年才入行的时候感觉那么蛋痛呢???

    展开全文
  • 获取用户信息的大致算法是 用户授权登录第三方网站, 重点:scope参数: snsapi_basic 静默登录,不需要用户授权,只能获取到openid; snsapi_userinfo ,需要用户点击授权,能获取到openid和所有用户信息; 第...
  • 主要为大家详细介绍了.NET微信公众号获取OpenID和用户信息的方法,用户OpenID对于微信公众平台开发尤为重要,感兴趣的小伙伴们可以参考一下
  • 最近在做微信公众号开发,调用公众号接口获取粉丝列表的时候,会由接口返回一个openid列表,还有一个next_openid。请问其中的openid是按什么规则排序的? 公众号开发者文档中说:当公众号关注者数量超过10000时...
  • 如果没有授权信息的,就网页首页自动弹窗获取信息,代码如下。 // 获取GET参数 function getUrlParam(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的...
  • 1、从微信后台获取code:用户请求微信后台,带上appid等参数 “https://open.weixin.qq.com/connect/oauth2/authorize?appid=” + appId + “&redirect_uri=” + redirectUri + “&response_type=code&scope=snsapi_...
  • 开发微信公众号时通过vue页面获取用户静默授权/非静默授权后的信息,整个一套代码全部嵌套在vue界面中。
  • 主要给大家介绍了关于ASP.NET Core2静默获取微信公众号用户OpenId的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 微信官方文档:...id=mp1421140842 用户同意授权,获取code;通过code,去拿openid 直接上代码: import requests from urllib.parse import quote from flask import jsonify, redirect @m...
  • 主要介绍了微信公众平台实现获取用户OpenID的方法,需要开发人员经过微信授权后获取高级接口才能使用此功能,用户OpenID对于微信公众平台建设有着非常广泛的用途,需要的朋友可以参考下
  • 主要介绍了微信小程序 springboot后台如何获取用户openid,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 现在订阅号已经不能静默获取openid,认证服务号才可以静默获取openid 需要准备的资料 注意订阅号已经不能静默获取openid,不要去白费力气了 1.注册认证的服务号 2.可以访问的域名 3.基础appid,后面开发要用到...
  • Java 微信公众号获取openId

    千次阅读 2019-07-11 14:15:52
    首先了解openid到底是个啥:所谓的openid就是公众号普通用户的一个唯一的标识,只针对当前的公众号有效,开发者可以通过openID获取用户的基本信息,比如说:所在城市,省份,国家,性别等等。(对不同的公众号同一...
  • 微信公众号静默授权获取用户openId

    千次阅读 2019-10-15 23:31:35
    微信公众号静默授权获取用户openId开发环境和文档微信微信公众平台接口测试帐号申请微信公众号接入配置微信公众平台接口调试工具自定义菜单(公众号)网页授权文档(非常有必要看一下)前端Vue 开发环境和文档 微信 ...
  • 前言: 官方参考连接:... 1、用户同意授权,获取code public void getCode(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //appid是公众号
  • 微信h5静默、非静默授权获取用户openId的方法和步骤: 一、openId是什么? openId是用户在当前公众号下的唯一标识(‘身份证’),就是说通过这个openId,就能区分在这个公众号下具体是哪个用户。 二、openId有...
  • 注:之前总结怎么进行本地公众号开发调试,时间一长忘记配置了,所以这里记录一下公众号开发配置,方便快速上手。 要进行微信公众号开发,那么要申请一个微信公众号就必不可少了。现在微信公众号类型有这几种:...
  • 微信公众号获取openid(java后端+html实现)
  • 最近在做个微信公众号的项目,需要将入口放置在公众号二级菜单内,通过点击该菜单链接后进入到该项目中去,进入到项目后程序会自动通过微信公众号的API完成用户的OpenId获取。...微信公众号静默获取用户OpenId:要...
  • 上一个博客也写了微信公众号获取OpenId,但是现在这个和上一个有什么区别呢。 其实呢,是差不多的,只是这个是通过用户授权。 但是,又会有人问了,明明可以未授权获取到用户openId,那我为什么要让用户进行...
  • 2、如果需要获取微信用户基本信息,可以参考微信的开发文档进行:网页授权获取用户基本信息如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑。...
  • 微信公众号获取openId

    2021-01-12 12:52:17
    因为cgi接口只能获取*已关注用户的头像等信息 String userInfo_json=WebRequestUtils.sendHttpGet(String.format( "https://api.weixin.qq.com/sns/userinfo?access_token=%s&openid=%s&lang=zh_CN",ar.getString(...
  • uniapp实现微信公众号登录获取openid

    千次阅读 2020-12-23 13:47:43
    下面是微信文档介绍 ...id=mp1421141115 ...先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。 备注:登录后可在“开发者中心”查看对应的接口权限。 步骤二:引入JS文件 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,072
精华内容 5,228
关键字:

公众号获取用户openid