• java微信接口之——获取access_token


    一、微信获取access_token接口简介

      1、请求:该请求是GET方式请求,所以要携带的参数都是附加到url后面传递给微信服务器。请求的url格式如下:

        https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
        其中,APPID与APPSECRET都我们开发的时候自己帐号申请的。
      2、响应:返回数据都是json数据,格式如下:
       正确的时候返回的数据: {"access_token":"ACCESS_TOKEN","expires_in":7200}

         ACCESS_TOKEN:访问token,expires_in为过期时间
       错误的时候返回的数据: {"errcode":40013,"errmsg":"invalid appid"}

         errcode,为错误代码,errmsg为错误信息
       具体api说明可查看文档:http://mp.weixin.qq.com/wiki/index.php?title=%E8%8E%B7%E5%8F%96access_token

    二、关于java代码的调用

      该接口可以在前台用页面ajax调用,也可以在后台用java代码调用。这里需要使用到apache的http组件httpcomponents-client,这里使用的版本为httpcomponents-client-4.2.1,下载地址为:http://hc.apache.org/downloads.cgi。需要使用到的jar文件如下:

    三、代码实现

     1 package com.demo.test;
     2 
     3 import org.apache.http.HttpEntity;
     4 import org.apache.http.HttpResponse;
     5 import org.apache.http.HttpStatus;
     6 import org.apache.http.client.HttpClient;
     7 import org.apache.http.client.methods.HttpGet;
     8 import org.apache.http.impl.client.DefaultHttpClient;
     9 import org.apache.http.util.EntityUtils;
    10 
    11 import com.google.gson.JsonObject;
    12 import com.google.gson.JsonParser;
    13 
    14 public class Test
    15 {
    16     public static final String GET_TOKEN_URL = "https://api.weixin.qq.com/cgi-bin/token";// 获取access
    17                                                                                             // url
    18     public static final String APP_ID = "wxa549b28c24cf341e";
    19     public static final String SECRET = "78d8a8cd7a4fa700142d06b96bf44a37";
    20 
    21     // 获取token
    22     public static String getToken(String apiurl, String appid, String secret)
    23     {
    24         String turl = String.format(
    25                 "%s?grant_type=client_credential&appid=%s&secret=%s", apiurl,
    26                 appid, secret);
    27         HttpClient client = new DefaultHttpClient();
    28         HttpGet get = new HttpGet(turl);
    29         JsonParser jsonparer = new JsonParser();// 初始化解析json格式的对象
    30         String result = null;
    31         try
    32         {
    33             HttpResponse res = client.execute(get);
    34             String responseContent = null; // 响应内容
    35             HttpEntity entity = res.getEntity();
    36             responseContent = EntityUtils.toString(entity, "UTF-8");
    37             JsonObject json = jsonparer.parse(responseContent)
    38                     .getAsJsonObject();
    39             // 将json字符串转换为json对象
    40             if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK)
    41             {
    42                 if (json.get("errcode") != null)
    43                 {// 错误时微信会返回错误码等信息,{"errcode":40013,"errmsg":"invalid appid"}
    44                 }
    45                 else
    46                 {// 正常情况下{"access_token":"ACCESS_TOKEN","expires_in":7200}
    47                     result = json.get("access_token").getAsString();
    48                 }
    49             }
    50         }
    51         catch (Exception e)
    52         {
    53             e.printStackTrace();
    54         }
    55         finally
    56         {
    57             // 关闭连接 ,释放资源
    58             client.getConnectionManager().shutdown();
    59             return result;
    60         }
    61     }
    62 
    63     public static void main(String[] args) throws Exception
    64     {
    65         System.out.println("=========1获取token=========");
    66         String accessToken = getToken(GET_TOKEN_URL, APP_ID, SECRET);// 获取token
    67         if (accessToken != null)
    68             System.out.println(accessToken);
    69     }
    70 
    71 }

      当token正常返回的时候会打印token,否则不会打印。

  • 相关阅读:
    黑产及社会工程学-学习历程
    ACE_Get_Opt函数笔记
    PlatformIO+Jlink进行调试
    Mac下搭建基于PlatformIO的嵌入式开发环境(STM32开发)
    选择排序
    插入排序
    JPEG原理详解 (转载)
    双链表基本操作
    单链表基本操作
    顺序表基本操作
  • 原文地址:https://www.cnblogs.com/always-online/p/3870634.html
Copyright © 2020-2023  润新知