微信接口

概述:他妹的微信接口,從學習到如今才搞了幾個,不得不說比較笨啊api


代碼:先寫幾個出來曬曬,後續的再補上,太多了。微信

2.1 基礎設置app

2.1.1 獲取access_tokenide

public class AccessToken {//驗證器函數

    private final String token;//驗證碼學習

    private final Long expiresTimestemp;//有效時間this


    public AccessToken(String token, Long expiresTimestemp) {//構造函數spa

        this.token = token;code

        this.expiresTimestemp = expiresTimestemp;token

    }

    public String getToken() {

        return token;

    }

    public Long getExpiresTimestemp() {

        return expiresTimestemp;

    }

    @Override

    public int hashCode() {

        int hash = 7;

        return hash;

    }

    @Override

    public boolean equals(Object obj) {

        if (obj == null) {

            return false;

        }

        if (getClass() != obj.getClass()) {

            return false;

        }

        final AccessToken other = (AccessToken) obj;

        if ((this.token == null) ? (other.token != null) : !this.token.equals(other.token)) {

            return false;

        }

        return true;

    }

    @Override

    public String toString() {

        return "AccessToken{" + "token=" + token + ", expiresTimestemp=" + expiresTimestemp + '}';

    }

}

  private final String appid, secret;


  private static Map<String, AccessToken> tokenMap = new HashMap<String, AccessToken>();

  private final Gson gson;

 private synchronized AccessToken getAccessToken() {//獲取驗證

       AccessToken accessToken = tokenMap.get(appid);

        Long now = new Date().getTime();

        if (accessToken == null || now > accessToken.getExpiresTimestemp()) {

            accessToken = WechatUtils.getAccessToken(appid, secret);

        }

        return accessToken;

  }

 public static AccessToken getAccessToken(String appid, String secret) {

        if (appid == null || secret == null) {

            throw new IllegalArgumentException("appid or secret was null.");

        }

        ClientConfig config = new DefaultClientConfig();

        Client client = Client.create(config);

        WebResource cosmsservice = client.resource("https://api.weixin.qq.com/cgi-bin/token");

        ClientResponse clientResponse = cosmsservice

                .queryParam("grant_type", "client_credential")

                .queryParam("appid", appid)

                .queryParam("secret", secret)

                .get(ClientResponse.class);


        if (clientResponse.getStatus() != 200) {

            throw new IllegalStateException("status error:" + clientResponse.getStatus());

        } else {

            Map result = new Gson().fromJson(clientResponse.getEntity(String.class), Map.class);

            if (result.get("errcode") != null) {

                throw new WechatAccessException(result.get("errcode") + "", result.get("errmsg") + "");

            } else {

                return new AccessToken((String) result.get("access_token"), ((Double) result.get("expires_in")).longValue());

            }

        }

    }

2.1.2  獲取組

相關文章
相關標籤/搜索