zoukankan      html  css  js  c++  java
  • 微信公众平台接口调用第一步(获取access_token)

    最近公司需要开发微信公众号,闲着无聊就写写博客,希望能帮到你我

    上代码:

    package test;
    
    import java.util.List;
    import java.util.ArrayList;
    
    import org.apache.http.HttpEntity;
    import org.apache.http.HttpResponse;
    import org.apache.http.HttpStatus;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.util.EntityUtils;
    
    import com.google.gson.JsonObject;
    import com.google.gson.JsonParser;
    
    public class GetAccess_token {
        public static final String GET_TOKEN_URL = "https://api.weixin.qq.com/cgi-bin/token";// 获取access
        //public static final String GET_Base = "https://api.weixin.qq.com/cgi-bin/user/get";//// url
        public static final String APP_ID = "公众号appid";
        public static final String SECRET = "公众号SECRET";
        public static  String accessToken = null;
        
    
        // 获取token
        public static String getToken(String apiurl, String appid, String secret) {
            String turl = String.format(
                    "%s?grant_type=client_credential&appid=%s&secret=%s", apiurl,
                    appid, secret);
            HttpClient client = new DefaultHttpClient();
            HttpGet get = new HttpGet(turl);
            JsonParser jsonparer = new JsonParser();// 初始化解析json格式的对象
            String result = null;
            try {
                HttpResponse res = client.execute(get);
                String responseContent = null; // 响应内容
                HttpEntity entity = res.getEntity();
                responseContent = EntityUtils.toString(entity, "utf-8");
                JsonObject json = jsonparer.parse(responseContent)
                        .getAsJsonObject();
                // 将json字符串转换为json对象
                if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
                    if (json.get("errcode") != null) {// 错误时微信会返回错误码等信息,{"errcode":40013,"errmsg":"invalid appid"}
                    } else {// 正常情况下{"access_token":"ACCESS_TOKEN","expires_in":7200}
                        result = json.get("access_token").getAsString();
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                // 关闭连接 ,释放资源
                client.getConnectionManager().shutdown();
                
            }return result;
        }
        
    
        
    
        public static void main(String[] args) throws Exception {
            System.out.println("=========1获取token=========");
             accessToken = getToken(GET_TOKEN_URL, APP_ID, SECRET);// 获取token
            if (accessToken != null){
                System.out.println("accessToken:" + accessToken);
            }
             
            
            
        }
    
    }

    所需jar:

  • 相关阅读:
    HDU 1124 Factorial
    hdu 1690 Bus System
    hdu 1113 Word Amalgamation
    POJ 2482 Stars in Your Window
    hdu 1385 ZOJ 1456 Minimum Transport Cost(经典floyd)
    hdu 1907 John
    VMware 虚拟机 安装 UBuntu 9.10 命令模式转换成窗口模试
    #pragma CODE_SEG __NEAR_SEG NON_BANKED详解
    Ubuntu 下Hadoop 伪分布式 hadoop0.20.2.tar.gz 的安装
    文件拷贝代码以及疑问
  • 原文地址:https://www.cnblogs.com/j2ee-web-01/p/6520299.html
Copyright © 2011-2022 走看看