java微信接口之——获取access_token
本文转自http://www.cnblogs.com/always-online/category/598553.html
一、微信获取access_token接口简介
1、请求:该请求是GET方式请求,所以要携带的参数都是附加到url后面传递给微信服务器。请求的url格式如下:
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
其中,APPID与APPSECRET都我们开发的时候自己帐号申请的。
2、响应:返回数据都是json数据,格式如下:
正确的时候返回的数据: {"access_token":"ACCESS_TOKEN","expires_in":7200}
ACCESS_TOKEN:访问token,expires_in为过期时间
错误的时候返回的数据: {"errcode":40013,"errmsg":"invalid appid"}
errcode,为错误代码,errmsg为错误信息
具体api说明可查看文档:http://mp.weixin.qq.com/wiki/index.php?title=%E8%8E%B7%E5%8F%96access_token 。
二、关于java代码的调用
该接口可以在前台用页面ajax调用,也可以在后台用java代码调用。这里需要使用到apache的http组件httpcomponents-client,这里使用的版本为httpcomponents-client-4.2.1,下载地址为:http://hc.apache.org/downloads.cgi。需要使用到的jar文件如下:

三、代码实现

1 package com.demo.test;
2
3 import org.apache.http.HttpEntity;
4 import org.apache.http.HttpResponse;
5 import org.apache.http.HttpStatus;
6 import org.apache.http.client.HttpClient;
7 import org.apache.http.client.methods.HttpGet;
8 import org.apache.http.impl.client.DefaultHttpClient;
9 import org.apache.http.util.EntityUtils;
10
11 import com.google.gson.JsonObject;
12 import com.google.gson.JsonParser;
13
14 public class Test
15 {
16 public static final String GET_TOKEN_URL = "https://api.weixin.qq.com/cgi-bin/token";// 获取access
17 // url
18 public static final String APP_ID = "wxa549b28c24cf341e";
19 public static final String SECRET = "78d8a8cd7a4fa700142d06b96bf44a37";
20
21 // 获取token
22 public static String getToken(String apiurl, String appid, String secret)
23 {
24 String turl = String.format(
25 "%s?grant_type=client_credential&appid=%s&secret=%s", apiurl,
26 appid, secret);
27 HttpClient client = new DefaultHttpClient();
28 HttpGet get = new HttpGet(turl);
29 JsonParser jsonparer = new JsonParser();// 初始化解析json格式的对象
30 String result = null;
31 try
32 {
33 HttpResponse res = client.execute(get);
34 String responseContent = null; // 响应内容
35 HttpEntity entity = res.getEntity();
36 responseContent = EntityUtils.toString(entity, "UTF-8");
37 JsonObject json = jsonparer.parse(responseContent)
38 .getAsJsonObject();
39 // 将json字符串转换为json对象
40 if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK)
41 {
42 if (json.get("errcode") != null)
43 {// 错误时微信会返回错误码等信息,{"errcode":40013,"errmsg":"invalid appid"}
44 }
45 else
46 {// 正常情况下{"access_token":"ACCESS_TOKEN","expires_in":7200}
47 result = json.get("access_token").getAsString();
48 }
49 }
50 }
51 catch (Exception e)
52 {
53 e.printStackTrace();
54 }
55 finally
56 {
57 // 关闭连接 ,释放资源
58 client.getConnectionManager().shutdown();
59 return result;
60 }
61 }
62
63 public static void main(String[] args) throws Exception
64 {
65 System.out.println("=========1获取token=========");
66 String accessToken = getToken(GET_TOKEN_URL, APP_ID, SECRET);// 获取token
67 if (accessToken != null)
68 System.out.println(accessToken);
69 }
70
71 }

当token正常返回的时候会打印token,否则不会打印。
java微信接口之——获取access_token的更多相关文章
- java微信接口之五—消息分组群发
一.微信消息分组群发接口简介 1.请求:该请求是使用post提交地址为: https://api.weixin.qq.com/cgi-bin/message/mass/sendall?access_t ...
- java微信接口之四—上传素材
一.微信上传素材接口简介 1.请求:该请求是使用post提交地址为: https://api.weixin.qq.com/cgi-bin/media/uploadnews?access_token=A ...
- 微信小程序获取Access_token和页面URL生成小程序码或二维码
1.微信小程序获取Access_token: access_token具体时效看官方文档. using System; using System.Collections.Generic; using ...
- 微信公众平台——获取access_token、expires_in
微信公众平台——获取access_token.expires_in 在微信公众平台接口开发中,Access Token占据着重要地位,它相当于进入各种接口的邀请,拿到这个钥匙才拥有调用其他各种特殊接口 ...
- java微信接口之二—获取用户组
一.微信获取用户组接口简介 1.请求 该请求也是GET方式请求.请求的url格式如下: https://api.weixin.qq.com/cgi-bin/groups/get?access_toke ...
- 微信接口开发1--向微信发送请求--获取access_token
//随便放置一个php文件在服务器上.执行该方法--调用模拟get提交---到微信-->获得微信返回的access_token 不建议自己编写模拟get提交方法. 建议直接导入微信框架LaneW ...
- java微信接口之三—上传多媒体文件
一.微信上传多媒体接口简介 1.请求:该请求是使用post提交from来实现的,我们可以在网页上进行表单提交来实现.地址为: http://file.api.weixin.qq.com/cgi-bin ...
- java 微信自定义菜单 java微信接口开发 公众平台 SSM redis shiro 多数据源
A 调用摄像头拍照,自定义裁剪编辑头像,头像图片色度调节B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,快速开发利器)+快速表单构建器 freemaker模版技术 ,0个代码不用写,生成 ...
- 微信公众号 --- 获取access_token
获取access_token 在左侧菜单栏中也可以找到 可以一步步的进行设置 , 身份验证的时候要 注意:密码是你创建微信公众号的密码 往一步步的执行就可以了 接下来就是获取ip 白名单,进行设置 ...
随机推荐
- primefaces4.0基本教程以及增删改查
最近试着用了用primefaces4.0,准备写一个基本的增删改查以及分页程序,但在写的过程中发现了很多问题,本想通过百度.谷歌解决,但无奈中文资料非常少,笔者在坑中不停的打滚,终于完成了一个有着基本 ...
- dwz 多选删除
<li><a title="确实要删除这些用户吗?" target="selectedTodo" postType="string& ...
- thinkphp 完整配置config.php
ThinkPHP的系统配置都采用数组形式,配置文件地址:Bin/Conf/config.php CHECK_FILE_CASE -- windows环境下面的严格检查大小写. /* 项目设定 ...
- IOS开发之----NSDictionary,JSON和XML互相转换
本文永久地址为 http://www.cnblogs.com/ChenYilong/p/4044521.html,转载请注明出处. -(void)test { //XML文本范例 ...
- Excel 单元格自定义格式技巧总结
第一部分 Excel 中的单元格格式是一个最基本但是又很高级的技能,说它基本是因为我们几乎天天都会用到它,会用它来设置一些简单的格式,比如日期,文本等等:高级是因为利用 Excel 单元格的自定义格式 ...
- ajax状态
ajax的几个状态 Uninitialized 初始化状态.XMLHttpRequest 对象已创建或已被 abort() 方法重置. Open open() 方法已调用,但是 send() 方法未调 ...
- webpack 教程 那些事儿02-从零开始
接着上篇我们有了最简单的安装了webpack的项目目录这节我们从零开始搭建一个简单的基于webpack的spa应用demo本节只说基础常用配置项,复杂后续讲解. 文章目录 1. 新建项目结构目录,如下 ...
- php导入导出cvs文件格式
1.导入 <?php header("Content-type: text/html; charset=gb2312"); $fname = $_FILES['myfile' ...
- mongodb安装 window
安装MongoDB 1.按照操作系统下载http://www.mongodb.org/downloads. 2.在D盘新建MongoDB文件夹(此文件夹为自定义的数据库安装目录D:\MongoDB)把 ...
- 使用liunx部署的心得
安装SSH. 输入IP,输入用户名,点击连接,再输入密码. 如果采用的tomcat容器,则: 第一步: 查看正在运行的tomcat ps aux|grep tomcat 如果输出信息很长代表启动了的, ...