java微信小程序接口openid过期_微信小程序获取用户唯一openid,包含java

  • Post author:
  • Post category:java


1.首先WXML文件

预约申请

2.然后js文件

//获取openid

YuYueSubmit: function (e) {

wx.login({

success: function (code) {

wx.request({

url: ‘https://xxxxxxx/api/wx/wxUser/openid’,//你自己的后端地址

data: {

code: code.code,

},

success: function (data) {

console.log(data.data.openid);

}

})

}

})

},

3. java

@RequestMapping(“/openid”)

@ResponseBody

public Result openid(String code) {

String requestUrl = “https://api.weixin.qq.com/sns/jscode2session”;//小程序返回openid接口

String appid= “xxxxxxxxx”; //你自己的小程序appid(去管理后台)

String secret= “70916b1a757dfxxxxxxxxx”; //你自己的小程序秘钥(去管理后台)

String js_code= code; //小程序随机的code

String grant_type = “authorization_code”; //默认的不要改

String params = “appid=” + appid + “&secret=” + secret + “&js_code=” + js_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”));

return ResponseUtil.success(Openid);

}

工具类

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> 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;

}

}

然后你的前端就可以获取到openid了!



版权声明:本文为weixin_39756481原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。