首先你得有url吧

public final static String access_token_url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET";

/**

* 获取access_token

*

* @param appid 凭证

* @param appsecret 密钥

* @return

*/

public static AccessToken getAccessToken(String appid, String appsecret) {

AccessToken accessToken = null;

String requestUrl = access_token_url.replace("APPID", appid).replace("APPSECRET", appsecret);

JSONObject jsonObject = httpRequest(requestUrl, "GET", null);

// 如果请求成功

if (null != jsonObject) {

try {

accessToken = new AccessToken();

accessToken.setToken(jsonObject.getString("access_token"));

accessToken.setExpiresIn(jsonObject.getInt("expires_in"));

} catch (JSONException e) {

accessToken = null;

// 获取token失败

log.error("获取token失败 errcode:{} errmsg:{}", jsonObject.getInt("errcode"), jsonObject.getString("errmsg"));

}

}

return accessToken;

}

public class AccessToken {

// 接口访问凭证

private String token;

// 凭证有效期,单位:秒

private int expiresIn;

public String getToken() {

return token;

}

public void setToken(String token) {

this.token = token;

}

public int getExpiresIn() {

return expiresIn;

}

public void setExpiresIn(int expiresIn) {

this.expiresIn = expiresIn;

}

}

这个http请求代码是借网上的

/**

* 发起https请求并获取结果

*

* @param requestUrl 请求地址

* @param requestMethod 请求方式(GET、POST)

* @param outputStr 提交的数据

* @return JSONObject(通过JSONObject.get(key)的方式获取json对象的属性值)

*/

public static JSONObject httpRequest(String requestUrl, String requestMethod, String outputStr) {

JSONObject jsonObject = null;

StringBuffer buffer = new StringBuffer();

try {

// 创建SSLContext对象,并使用我们指定的信任管理器初始化

TrustManager[] tm = { new MyX509TrustManager() };

SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE");

sslContext.init(null, tm, new java.security.SecureRandom());

// 从上述SSLContext对象中得到SSLSocketFactory对象

SSLSocketFactory ssf = sslContext.getSocketFactory();

URL url = new URL(requestUrl);

HttpsURLConnection httpUrlConn = (HttpsURLConnection) url.openConnection();

httpUrlConn.setSSLSocketFactory(ssf);

httpUrlConn.setDoOutput(true);

httpUrlConn.setDoInput(true);

httpUrlConn.setUseCaches(false);

// 设置请求方式(GET/POST)

httpUrlConn.setRequestMethod(requestMethod);

if ("GET".equalsIgnoreCase(requestMethod))

httpUrlConn.connect();

// 当有数据需要提交时

if (null != outputStr) {

OutputStream outputStream = httpUrlConn.getOutputStream();

// 注意编码格式,防止中文乱码

outputStream.write(outputStr.getBytes("UTF-8"));

outputStream.close();

}

// 将返回的输入流转换成字符串

InputStream inputStream = httpUrlConn.getInputStream();

InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8");

BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

String str = null;

while ((str = bufferedReader.readLine()) != null) {

buffer.append(str);

}

bufferedReader.close();

inputStreamReader.close();

// 释放资源

inputStream.close();

inputStream = null;

httpUrlConn.disconnect();

jsonObject = JSONObject.fromObject(buffer.toString());

} catch (ConnectException ce) {

log.error("Weixin server connection timed out.");

} catch (Exception e) {

log.error("https request error:{}", e);

}

return jsonObject;

}

import java.security.cert.CertificateException;

import java.security.cert.X509Certificate;

import javax.net.ssl.X509TrustManager;

/**

* 证书信任管理器(用于https请求)

*

* @author yangwl

* @date 2016年5月11日17:16:05

*/

public class MyX509TrustManager implements X509TrustManager {

public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {

}

public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {

}

public X509Certificate[] getAcceptedIssuers() {

return null;

}

}

java获取access token_微信java 开发4 access_token获取相关推荐

  1. java获取access token_【Java示例】如何获取AccessToken

    好多新注册的开发者表示不太清楚如何获取AccessToken.首先还是建议大家看官网文档 http://ai.baidu.com/docs#/Begin/top 小帅帮大家写一个Java调用的示例 首 ...

  2. Java红包退款_微信现金红包开发4(JAVA)

    当请求结束后,会受到微信服务器返回给我们的结果 处理第三节中的reback //将接收到的返回信息 Map mso = new HashMap(); mso = XMLParser.getMapFro ...

  3. java ssm框架调用微信_Java开发SSM框架微信退款的实现

    这篇文章是Java微信退款的教程,退款之前用户需要先进行支付,支付之后才可以使用退款.做到退款的同学应该已经是完成了支付了,我写的退款和支付的流程很相似只是所需的参数有所不同. String outT ...

  4. error java on syntax token_解决Java“syntax error on token enum”问题

    本来我的问题是jsp中变量名命名和保留关键字重复了,如下图.无意中又找到下面的问题和解决方案作为笔记. 解决方法:修改变量名. ==================================== ...

  5. 微信企业号开发之地理位置获取

    1.官方文档说明 上报地理位置事件 成员同意上报地理位置后,每次在进入应用会话时都会上报一次地理位置,或在进入应用会话后每5秒上报一次地理位置.企业可以在管理端修改应用的以上设置.上报地理位置时,微信 ...

  6. php里那些函数是获取字符串长度,【后端开发】PHP获取字符串长度函数strlen()函数...

    在一些网站注册或者其他活动中,我们需要用户提交一些信息,对于这些信息会有一定的要求,比如用户注册信息有一些限制长度不能小于多少大于多少.这里我们就需要使用PHP自带函数进行获取操作. 获取字符串长度使 ...

  7. Service获取客户端IP地址(java)

    Java代码 <strong>1.基于jax-ws开发的webservice获取客户端ip的方法[在代理类XXXDelegate添加如下代码]:</strong> import ...

  8. 企业微信三方开发(三):网页授权登录

    其他链接 初识微信开发 企业微信三方开发:注册企业微信服务商 企业微信三方开发(一):回调验证及重要参数获取 企业微信三方开发(二):获取access_token 企业微信三方开发(三):网页授权登录 ...

  9. 企业微信三方开发(四):发送消息

    其他链接 初识微信开发 企业微信三方开发:注册企业微信服务商 企业微信三方开发(一):回调验证及重要参数获取 企业微信三方开发(二):获取access_token 企业微信三方开发(三):网页授权登录 ...

最新文章

  1. 从命令行传递其他变量来制作
  2. SSM+solr 通过商品搜索学习solr的简单使用
  3. 前端学习(2230):react条件渲染实现登录二
  4. Apache Shiro<=1.2.4反序列化RCE漏洞
  5. 30天python从入门到精通_2019最新《Python从入门到精通之30天快速学Python教程 》
  6. 前端解析ipa、apk安装包信息 —— app-info-parser
  7. hg更新下载指定版本
  8. win7系统下C盘扩容
  9. 三个表内连接查询创建视图
  10. Error starting ApplicationContext.
  11. layui快速上手教程
  12. 台式计算机的安装顺序,台式电脑安装步骤教程
  13. SQL server 2008不允许保存更改的解决办法
  14. 【考研数学】九. 无穷级数
  15. 基于MATLAB的无刷直流调速系统的设计与仿真
  16. 猫咪藏在哪个房间python项目_铲屎官必读:猫咪为什么都喜欢藏在盒子里?
  17. 论文笔记—LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain
  18. 用计算机套路女孩电话,套路女孩子的情话抖音 套路女朋友的情话大全句子
  19. 〖Kindle Paperwhite〗升级、越狱、换屏保教程
  20. [转自“看雪论坛”]RtlAdjustPrivliege (http://bbs.pediy.com/showthread.php?t=76552)

热门文章

  1. Lua,Lua API,配置文件
  2. HDU 1151 Air Raid
  3. Ubuntu14.04搭建Oracle instantClient 11.2.0.4并配置cx_Oracle5.1.2
  4. web javascript开发 之Response.Write 与document.writ...
  5. 投诉索尼中国:欺骗消费!敲诈消费者!
  6. Prototype库终于有了文档了
  7. bootstrap checkbox_[推荐]icheck-bootstrap(漂亮的ckeckbox/radiobox)
  8. 【写作技巧】毕业论文结构一文通
  9. Oracle sql给一列赋值,简单的Oracle变量SQL赋值
  10. java 银行管理系统怎么储存账户信息_银行管理系统 实现用户注册 登录 存、取款 交易记录查询和修改用户信息等功能...