当前位置: 首页 > 编程笔记 >

java获取微信accessToken的方法

杨宏儒
2023-03-14
本文向大家介绍java获取微信accessToken的方法,包括了java获取微信accessToken的方法的使用技巧和注意事项,需要的朋友参考一下

本文实例为大家分享了java如何获取微信accessToken,供大家参考,具体内容如下

package com.fengdi.lianmeng.task;

import com.fengdi.lianmeng.common.CacheHelper;
import com.fengdi.lianmeng.util.http.HttpRequest;
import com.fengdi.lianmeng.util.tencent.CloudSignHelper;
import com.fengdi.lianmeng.util.tencent.Interface;
import net.sf.json.JSONObject;
import org.quartz.JobExecutionContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * 定时获取微信accessToken
 */

public class GetWeiXinAccessTokenTask {

 private static Logger logger = LoggerFactory.getLogger(GetWeiXinAccessTokenTask.class);

 /**
 * 每90分钟,获取一次微信accessToken
 */
 public void getWeiXinAccessToken (JobExecutionContext context){
 try{
  logger.info("获取微信定时AccessToken任务启动了");

  //封装请求数据
  String params = "grant_type=client_credential" + 
  "&secret=" + CloudSignHelper.wxspSecret + //小程序的 app_secret (在微信小程序管理后台获取)
  "&appid="+ CloudSignHelper.appid;//小程序唯一标识appid (在微信小程序管理后台获取)
  //发送GET请求
  String result = HttpRequest.sendGet("https://api.weixin.qq.com/cgi-bin/token", params);
  // 解析相应内容(转换成json对象)
  JSONObject jsonObject = JSONObject.fromObject(result);
  String accessToken = (String) jsonObject.get("access_token");

  CacheHelper.put("wxAccessToken", accessToken);//将accessToken放入缓存,用的时候取就行
  logger.info("获取微信定时AccessToken任务结束了");
 }catch(Exception ex){
  logger.error("获取微信定时AccessToken任务失败." , ex);
 }
 }
}

GET请求

public static String sendGet(String url, String param) {
    String result = "";
    BufferedReader in = null;
    try {
      String urlNameString = url + "?" + param;
      URL realUrl = new URL(urlNameString);
      // 打开和URL之间的连接
      URLConnection connection = realUrl.openConnection();
      // 设置通用的请求属性
      connection.setRequestProperty("accept", "*/*");
      connection.setRequestProperty("connection", "Keep-Alive");
      connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
      // 建立实际的连接
      connection.connect();
      // 获取所有响应头字段
      Map<String, List<String>> map = connection.getHeaderFields();
      // 遍历所有的响应头字段
      for (String key : map.keySet()) {
        System.out.println(key + "--->" + map.get(key));
      }
      // 定义 BufferedReader输入流来读取URL的响应
      in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
      String line;
      while ((line = in.readLine()) != null) {
        result += line;
      }
    } catch (Exception e) {
      System.out.println("发送GET请求出现异常!" + e);
      e.printStackTrace();
    }
    // 使用finally块来关闭输入流
    finally {
      try {
        if (in != null) {
          in.close();
        }
      } catch (Exception e2) {
        e2.printStackTrace();
      }
    }
    return result;
  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍.net微信开发 如何获取AccessToken,包括了.net微信开发 如何获取AccessToken的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了获取AccessToken的方法,供大家参考,具体内容如下 AccessToken获取方法 Access_token类结构 JsonHelper.ParseFromJson方法 以上就是本文的全部内容,希望对大家的学习有

  • 本文向大家介绍SpringBoot中获取微信用户信息的方法,包括了SpringBoot中获取微信用户信息的方法的使用技巧和注意事项,需要的朋友参考一下 前言 不知道你是否参加过拼多多上邀请微信好友砍价功能,这个功能实现首先需要考虑的就是获取微信用户的信息。获取用户信息就是获取公众号下微信用户的信息,今天我就来讲讲如何从公众号下获取微信用户信息。 需要声明一点的是获取微信公众号下的用户信息的权限是服

  • 本文向大家介绍PHP定时任务获取微信access_token的方法,包括了PHP定时任务获取微信access_token的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP定时任务获取微信access_token的方法。分享给大家供大家参考,具体如下: 微信access_token在开发时会变的好像是几分种不一样了,这里我们来介绍关于PHP定时任务获取微信access_token的

  • 本文向大家介绍微信公众平台获取access_token的方法步骤,包括了微信公众平台获取access_token的方法步骤的使用技巧和注意事项,需要的朋友参考一下 前言:access_token是微信公众平台接口的重要参数,很多接口都需要这个参数。 微信公众平台文档地址:微信公众平台技术文档 一、access_token说明 access_token是公众号的全局唯一接口调用凭据,公众号调用各接口

  • 本文向大家介绍php获取微信共享收货地址的方法,包括了php获取微信共享收货地址的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了php获取微信共享收货地址的具体代码,供大家参考,具体内容如下 必须是微信授权目录 我直接放到了根目录 其他目录无效 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 作者:陈希章 发表于 2018年1月5日 这是一个很小的技巧,而且用几句话就能讲明白。事情是这样的,我最近在回顾之前写过的文章:通过其他第三方工具体验Microsoft Graph 的时候,发现最近的PostMan这个工具无法正常地获取到accesstoken,具体原因不明,一阵找原因后,碰巧后来遇到了总部做Graph的产品组的同事,了解到他们正考虑在Graph Explorer中增加一个功能,可