精华内容
下载资源
问答
  • java获取微信小程序openid,包括其他很多小程序操作,下载即可运行
  • 小程序获取openid,看之前的官方文档写的不清楚,自己摸索后才发现很简单,当修改secret后记得在文件里更新密码和qppId,这是个坑
  • 小程序获取openid(亲测通过) 用C#后台代码写的 包括小程序前台与后台代码
  • 小程序获取openid唯一标识,后台是java。包括微信小程序源码和java源码
  • 1.必须把小程序的域名加入到微信公众号中 2.必须为https认证
  • 上一节教大家如何在本地运行php后台项目,并可以被小程序访问到,这一节就来给大家讲一个实际工作中常用的需求,微信小程序openid获取。当然了,还是用我们的php做为后台。 老规矩,先看效果图 通过上图我们可以...

    上一节教大家如何在本地运行php后台项目,并可以被小程序访问到,这一节就来给大家讲一个实际工作中常用的需求,微信小程序openid的获取。当然了,还是用我们的php做为后台。

    老规矩,先看效果图


    通过上图我们可以看到我们成功的获取到了小程序的openid,而这里获取openid是借助php后台获取的。

    我们的php核心代码,只有下面10行


    下面就来讲讲具体的实现步骤。

    一,首先要搭建一个可以本地访问的php后台

    这里我在上一节的文章已经讲过了,还不知道怎么配置本地php项目的同学可以去翻看我上篇文章:phpstorm运行本地PHP服务器,实现小程序可以访问的PHP后台

    二,编写php代码

    只需要创建一个如下图所示的简单的php文件就可以了。

    把代码给大家贴出来。要记得把下面的appid和appSecret换成你自己的。至于如果获取,我之前的文章也有讲过,去翻下我零基础入门小程序开发的文章即可。

    <?php
    /**
     * 2019/9/21 20:34
     * author: 编程小石头
     * wechat:2501902696
     * desc: 获取小程序用户openid
     */
    
    getOpenid();
    function getOpenid() {
        $code = $_GET['code'];//小程序传来的code值
        $appid = 'wx4b55bb240aec2ee3';//小程序的appid
        $appSecret = '1f6f68884c1add6293cfa9b86e1f6bfd';// 小程序的$appSecret
        $wxUrl = 'https://api.weixin.qq.com/sns/jscode2session?appid=%s&secret=%s&js_code=%s&grant_type=authorization_code';
        $getUrl = sprintf($wxUrl, $appid, $appSecret, $code);//把appid,appsecret,code拼接到url里
        $result = curl_get($getUrl);//请求拼接好的url
        $wxResult = json_decode($result, true);
        if (empty($wxResult)) {
            echo '获取openid时异常,微信内部错误';
        } else {
            $loginFail = array_key_exists('errcode', $wxResult);
            if ($loginFail) {//请求失败
                var_dump($wxResult);
            } else {//请求成功
                $openid = $wxResult['openid'];
                echo "获取openid成功成功:" . $openid;
            }
        }
    }
    
    //php请求网络的方法
    function curl_get($url, &$httpCode = 0) {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    
        //不做证书校验,部署在linux环境下请改为true
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
        $file_contents = curl_exec($ch);
        $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        curl_close($ch);
        return $file_contents;
    }
    

    代码就这么多,我们编写好以后,运行下项目。

    三,编写小程序代码

    小程序的代码很简单,就是一个按钮,点击按钮的时候我们请求上面定义好的php后台项目。
    小程序代码也很简单


    代码就上图这么点,我把code.js里的代码贴出来给大家

    Page({
      getCode() {
        let that = this;
        wx.login({
          success(res) {
            console.log('code', res.code)
            that.getOpenid(res.code)
          }
        })
      },
      getOpenid(wxCode) {
        wx.request({
          url: 'http://localhost:8080/Demo.php',
          data: {
            code: wxCode
          },
          success(res) {
            console.log('获取成功', res)
          },
          fail(res) {
            console.log('获取失败', res)
          }
        })
      }
    })
    

    给大家解释下上面的代码,我们通过wx.login来获取code,然后通过wx.request调用我们定义的php后台。url里的 Demo.php必须和你的php文件名保持一致。

    效果

    点击按钮以后,就可以成功的获取到我们所需的小程序openid了。效果图如下

    到这里我们就成功的实现了PHP获取小程序openid的功能了,是不是很简单。

    后面我会写更多关于php和小程序的文章,敬请关注。

    展开全文
  • TP5微信小程序获取openid和unionid代码 俩种方式:1获取openid 判断数据库是否存在获取unionid 2.获取openid后不存在 走官方button按钮 的getuserinfo去获取unionid
  • 主要介绍了微信小程序 springboot后台如何获取用户的openid,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 让用户登录,标识用户和获取用户信息,以用户为核心提供服务,是大部分小程序都会做的事情。我们今天就来了解下在小程序中,如何做用户登录,以及如何去维护这个登录后的会话(Session)状态。下面来看看详细的介绍:...

    微信小程序❶群微信小程序❶群微信小程序❶群

    微信小程序中做用户登录与登录态维护的实现详解

    让用户登录,标识用户和获取用户信息,以用户为核心提供服务,是大部分小程序都会做的事情。我们今天就来了解下在小程序中,如何做用户登录,以及如何去维护这个登录后的会话(Session)状态。下面来看看详细的介绍:

    小程序的登陆流程

    展开全文
  • 微信小程序获取用户openId的实现方法 前端: wx.login({ success: function (res) { res.code }) 获取到code后,传到后台, 然后请求微信接口 ...把参数替换为自己的参数,这个接口就直接返回openId了 ...
  • 微信小程序获取openid及用户信息的方法 1. 获取openid 1.1 获取code 调用接口获取登录凭证(code)进而换取用户登录态信息,包括用户的唯一标识(openid) 及本次登录的会话密钥(session_key)。用户数据的加解密...
  • 主要介绍了Golang通过小程序获取微信openid的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 主要介绍了Yii使用EasyWechat实现小程序获取用户的openID的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 我们知道openid是微信用户验证的重要标识,支付功能严重依赖这个东西,之前...getOpenId(){ //获取用户的openid let _this=this; wx.login({ success(res) { if (res.code) { // 发起网络请求 wx.request({ u
  • Java获取小程序openId

    千次阅读 2017-07-19 10:45:58
    最近公司要开发小程序,由于业务需要,需要在用户注册时获取用户的openId作为userId进行注册一、获取code将code作为参数传递过来//如果有code,说明是微信小程序,根据code获取openId //classify用于标识是哪个...

    最近公司要开发小程序,由于业务需要,需要在用户注册时获取用户的openId作为userId进行注册

    一、获取code

    将code作为参数传递过来

    //如果有code,说明是微信小程序,根据code获取openId
    //classify用于标识是哪个小程序
                if (!CheckUtil.checkNulls( keUser.getCode(),keUser.getClassify())){
                    //
                    String openid = OpenIdUtil.oauth2GetOpenid(keUser.getCode(),keUser.getClassify());
                    printParamsLog(openid, logger);
                    keUser.setUserId(openid);
                }

    二、工具类

    package com.util;
    
    import net.sf.json.JSONObject;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.ResponseHandler;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.impl.client.BasicResponseHandler;
    import org.apache.http.impl.client.DefaultHttpClient;
    
    import java.util.HashMap;
    import java.util.Map;
    
    /**
     * @author xsx
     */
    public class OpenIdUtil {
        public static String oauth2GetOpenid(String code,String classify) {
            String appid="";
            String appsecret="";
            switch (classify){
                case "1":
                    //自己的配置appid
                    appid = "**********";
                    //自己的配置APPSECRET;
                    appsecret = "**********";
                    break;
                case "2":
                    appid = "**********";
                    appsecret = "************";
                    break;
                case "3":
                    appid = "**********";
                    appsecret = "************";
                    break;
                case "4":
                    appid = "**********";
                    appsecret = "************";
                    break;
                case "5":
                    appid = "**********";
                    appsecret = "************";
            }
    
            //授权(必填)
            String grant_type = "authorization_code";
            //URL
            String requestUrl = "https://api.weixin.qq.com/sns/jscode2session";
            //请求参数
            String params = "appid=" + appid + "&secret=" + appsecret + "&js_code=" + code + "&grant_type=" + grant_type;
            //发送请求
            String data = HttpUtil.get(requestUrl, params);
            //解析相应内容(转换成json对象)
            JSONObject  json = JSONObject.fromObject(data);
            //用户的唯一标识(openid)
            String Openid =String.valueOf(json.get("openid"));
            //System.out.println(Openid);
            return Openid;
        }
    }
    

    三、发送请求的工具类

    package com.util;
    
    
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.net.URL;
    import java.net.URLConnection;
    import java.util.List;
    import java.util.Map;
    
    /**
     * @author xsx
     */
    public class HttpUtil {
        /**
         * 向指定URL发送GET方法的请求
         *
         * @param url
         *            发送请求的URL
         * @param param
         *            请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
         * @return String 所代表远程资源的响应结果
         */
        public static String get(String url,String param){
            String result = "";
            BufferedReader in = null;
            try {
                String urlNameString = url + "?" + param;
                //System.out.println(urlNameString);
                URL realUrl = new URL(urlNameString);
                // 打开和URL之间的连接
                URLConnection connection = realUrl.openConnection();
                // 设置通用的请求属性
                connection.setRequestProperty("accept", "*/*");
                connection.setRequestProperty("connection", "Keep-Alive");
                connection.setRequestProperty("user-agent",
                        "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
                // 建立实际的连接
                connection.connect();
                // 获取所有响应头字段
                Map<String, List<String>> map = connection.getHeaderFields();
                // 遍历所有的响应头字段
                /*for (String key : map.keySet()) {
                    System.out.println(key + "--->" + map.get(key));
                }*/
                // 定义 BufferedReader输入流来读取URL的响应
                in = new BufferedReader(new InputStreamReader(
                        connection.getInputStream()));
                String line;
                while ((line = in.readLine()) != null) {
                    result += line;
                }
            } catch (Exception e) {
                System.out.println("发送GET请求出现异常!" + e);
                e.printStackTrace();
            }
            // 使用finally块来关闭输入流
            finally {
                try {
                    if (in != null) {
                        in.close();
                    }
                } catch (Exception e2) {
                    e2.printStackTrace();
                }
            }
            return result;
        }
    }
    

    四、检查参数是否为空的工具类

    public class CheckUtil {
    
        /**
         * 验证是否有空值的参数,只要有一个,就返回true
         *
         * @param args
         * @return true
         */
        public static boolean checkNulls(String... args) {
    
            if (args.length == 0) {
                return true;
            }
            //
            for (String str : args) {
                if (isNullOrEmpty(str)) {
                    return true;
                }
            }
            return false;
        }
    }
    展开全文
  • 本篇文章我带大家使用Java代码来实现获取微信小程序openId,有需要的伙伴可以参考和借鉴。 实现 小程序页面(app.js)代码: 注:小程序登录时获取code wx.login({ success: res => { // 发送 res.code 到...

    摘要

    本篇文章我带大家使用Java代码来实现获取微信小程序的openId,有需要的伙伴可以参考和借鉴。

    实现

    小程序页面(app.js)代码:
    注:小程序登录时获取code

    wx.login({
      success: res => {
        // 发送 res.code 到后台换取 openId, sessionKey, unionId
        // that.data.url 你的服务器地址
        wx.request({
          url: that.data.url + '/mini_Weixin_getOpenId.action',
          data:{"code":res.code},
          method:'GET',
          header: {
            'content-type': 'application/json'
          },
          success: function (res) {
              openId = res.data;
          }
        })
      }
    })
    

    后端Java代码:

    ----> controller类:

    public String getOpenId(String code){
    		String url = " https://api.weixin.qq.com/sns/jscode2session?appid="+appid+"&secret="+appsecret+"&js_code="+code+"&grant_type=authorization_code";
    		String rst = doGet(url, "GBK");
    		System.out.println("rst==="+rst);
    		logger.info("rst==="+rst);
    		try {
    			String tmp = "\"openid\":\"";
    			rst = rst.substring(rst.indexOf(tmp)+tmp.length());
    			rst = rst.substring(0, rst.indexOf("\""));
    		} catch (Exception e) {
    			e.printStackTrace();
    			rst = "";
    		}		
    		return rst;
    }
    

    ---->util类:

    /**
     * http get 提交
     * @param url
     * @param charset
     * @return
     */
    public static String doGet(String url, String charset) {
    	try {
    		URL httpURL = new URL(url);
    		HttpURLConnection http = (HttpURLConnection) httpURL
    				.openConnection();
    		http.setRequestProperty("Content-type", "text/html");
    		BufferedReader br = new BufferedReader(new InputStreamReader(http
    				.getInputStream(), charset));
    		StringBuilder sb = new StringBuilder();
    		String temp = null;
    		while ((temp = br.readLine()) != null) {
    			sb.append(temp);
    			sb.append("\n");
    		}
    		br.close();
    		return sb.toString();
    	} catch (Exception e) {
    		e.printStackTrace();
    	}
    	return null;
    }
    

    欢迎小伙伴留言评论,需要完整代码的加我QQ:450938667

    展开全文
  • >>> 博客: 使用uni-app进行小程序的授权登录(获取用户头像,名称,性别,地区等) 博客: 使用uni-app获取微信小程序openid--Java后端实现 介绍openid 微信开发时, 用户使用小程序需要授权, 这时就要用到openid进行绑定这...
  • java解析的源码和小程序的源码,自己从项目中剥离出来的,肯定能用,有疑问私信,微信小程序获取各类信息(openid、session_key以及用户基本信息、解密手机号)
  • 第一篇 小程序登录获取小程序openId和unionId。 最近公司做了一个微信的小程序应用,做了一些技术研究也踩了不少坑,不过最终结果不错小程序顺利上线。 在这里做一个开发笔记,主要记录以下几个方面,分别用四...
  • 小程序获取openID获取手机号前后端demo。其中demo为后端代码,finance-report为小程序代码。
  • JAVA小程序-获取OPENID

    千次阅读 2019-03-28 20:44:44
    JAVA小程序-获取OPENID package com.fh.controller.wxlogin; import java.util.HashMap; import java.util.Map; import javax.annotation.Resource; import org.springframework.stereotype.Controller; ...
  • 在微信小程序login时通过Java后台获取openid 闲话少说,直接上代码和视频教程 ???? 视频教程:Java服务器端获取用户的openid ???? 官方文档:微信小程序登陆流程 ????‍????图解流程原理: 小程序端代码 <...
  • 背景 尝试一下新鲜事物“微信小程序”,其中有一个业务场景,通过微信登陆小程序,这样需要获取小程序的用户ID(也就是openid)。微信小程序从安全角度考虑,不提供直接在微信服务器获取openid的方法,那么需要借助 ...
  • 2018改版后不能把官方API接口地址直接写在小程序里了,因此需要自己去写服务端来获取openid等用户信息,详见代码。
  • // 发送 res.code 到后台换取 openId, sessionKey, unionId if (res.code) { wx.request({ url: ‘http://localhost:8080/cis’, data: { code: res.code }, header: { ‘content-type’: ‘application/x-...
  • 用于微信小程序中,对登录用户的信息获取操作,主要为了获取 openID等敏感信息,对应文章请参考: http://blog.csdn.net/u011415782/article/details/79559639
  • 一:客户端   var that = this wx.login({ success: function (res) { var appId = ' ';//微信公众号平台申请的appid var appSecret = ' ';//微信公众号平台申请的app secret var js_code = res.code;...
  • >>> 前言 这个是纯前端(uniapp)获取openid的:https://my.oschina.net/u/4284277/blog/3168782 但是这个有一个问题就是小程序正式上线后无法拿到openid,所以更新了下面这个后端(Java)获取的,希望对你有帮助。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,679
精华内容 5,871
关键字:

获取小程序的openid