本文共 2942 字,大约阅读时间需要 9 分钟。
下面就整理了关于如何获取access_token。
GET方法https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
通过APPID和Secret获取到access_token
import net.sf.json.JSONObject;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.client.HttpClient;import org.apache.http.client.methods.HttpGet;import org.apache.http.impl.client.HttpClientBuilder;import org.apache.http.util.EntityUtils;import java.util.Map;public class GetDetailByUrl { public static MapgetDetailByUrl(String ur) { Map map = null; String access_token_url = "https://api.weixin.qq.com/cgi-bin/token?" + "grant_type=client_credential" + "&appid=你的appid"+ "&secret=你的secret"; try { HttpClient client = HttpClientBuilder.create().build();//构建一个Client HttpGet get = new HttpGet(url.toString()); //构建一个GET请求 HttpResponse response = client.execute(get);//提交GET请求 HttpEntity result = response.getEntity();//拿到返回的HttpResponse的"实体" String content = EntityUtils.toString(result); JSONObject res = JSONObject.fromObject(content); map = JsonUtil.parseJSON2Map(res); } catch (Exception e) { e.printStackTrace(); System.out.println("获取信息失败"); } return map; }}
通过下面的方法将JSON转化为Map
import net.sf.json.JSONArray;import net.sf.json.JSONObject;import java.util.*;public class JsonUtil { public static MapparseJSON2Map(JSONObject json) { Map map = new HashMap (); // 最外层解析 for (Object k : json.keySet()) { Object v = json.get(k); // 如果内层还是数组的话,继续解析 if (v instanceof JSONArray) { List
//JSON转化为MAP函数中需要net.sf.json-lib json-lib 2.4 jdk15
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
grant_type | string | 是 | 填写 client_credential | |
appid | string | 是 | 小程序唯一凭证,即 AppID,可在「微信公众平台 - 设置 - 开发设置」页中获得。 (需要已经成为开发者,且帐号没有异常状态) | |
secret | string | 是 | 小程序唯一凭证密钥,即 AppSecret,获取方式同 appid |
返回的 JSON 数据包
属性 | 类型 | 说明 |
---|---|---|
access_token | string | 获取到的凭证 |
expires_in | number | 凭证有效时间,单位:秒。目前是7200秒之内的值。 |
errcode | number | 错误码 |
errmsg | string | 错误信息 |
errcode 的合法值
值 | 说明 | |
---|---|---|
-1 | 系统繁忙,此时请开发者稍候再试 | |
0 | 请求成功 | |
40001 | AppSecret 错误或者 AppSecret 不属于这个小程序,请开发者确认 AppSecret 的正确性 | |
40002 | 请确保 grant_type 字段值为 client_credential | |
40013 | 不合法的 AppID,请开发者检查 AppID 的正确性,避免异常字符,注意大小写 |
正常返回
{"access_token":"ACCESS_TOKEN","expires_in":7200}
错误时返回
{"errcode":40013,"errmsg":"invalid appid"}
转载地址:http://lnzci.baihongyu.com/