net.sf.weixinmp.saas.dialog.base.GetAccessTokenRequest Maven / Gradle / Ivy
package net.sf.weixinmp.saas.dialog.base;
import java.util.Date;
import net.sf.weixinmp.model.AccessToken;
import net.sf.weixinmp.model.GenericObject;
import net.sf.weixinmp.saas.WeixinmpRequest;
/**
* 拉token
* http请求方式: GET
* https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
* 参数说明
参数 是否必须 说明
grant_type 是 获取access_token填写client_credential
appid 是 第三方用户唯一凭证
secret 是 第三方用户唯一凭证密钥,即appsecret
返回说明
正常情况下,微信会返回下述JSON数据包给公众号:
{"access_token":"ACCESS_TOKEN","expires_in":7200}
参数 说明
access_token 获取到的凭证
expires_in 凭证有效时间,单位:秒
错误时微信会返回错误码等信息,JSON数据包示例如下(该示例为AppID无效错误):
{"errcode":40013,"errmsg":"invalid appid"}
* @author Alex
*
*/
public class GetAccessTokenRequest extends WeixinmpRequest {
public AccessToken execute(String appId, String appSecret){
String s=this.requestContentString("/token?grant_type=client_credential&appid="+appId+"&secret="+appSecret);
if(s.isEmpty()){
return null;
}
GenericObject map=toNativeMap(s);
AccessToken token =new AccessToken(map.getString("access_token"), new Date(System.currentTimeMillis()+1000*Long.parseLong(map.getString("expires_in"))));
return token;
}
public static void main(String args[]){
AccessToken t=new GetAccessTokenRequest().execute("wxf207d4b702a586d4", "1289829251146e62fc1a464f906c7b33");
System.out.println(t);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy