All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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