获取钉钉AccessToken

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet(name = "LbAccessTokenServlet")
public class LbAccessTokenServlet extends HttpServlet {
 
    public void init() throws ServletException {
        new Thread(new LbTokenThread()).start(); //启动进程
    }
 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 
    }
 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 
    }
}

---------------------

package com.jeecg.lb;


import com.dingtalk.api.DefaultDingTalkClient;
import com.dingtalk.api.request.OapiGettokenRequest;
import com.dingtalk.api.response.OapiGettokenResponse;
import com.taobao.api.ApiException;

public class LbTokenThread implements Runnable {
    
    private static String APPKEY = "*******"; // 小程序APPKEY
    private static String APPSECRET = "*******"; // 小程序APPSECRET
    
    public static String accessToken = null;
 
    public void run(){
        while (true){
            try{
                accessToken = this.getAccessToken();
                if(null!=accessToken){
                    System.out.println("Lb-token:"+accessToken);
                    Thread.sleep(7000 * 1000); //获取到access_token 休眠7000秒
 
                }else{
                    Thread.sleep(1000*3); //获取的access_token为空 休眠3秒
                }
            }catch(Exception e){
                System.out.println("发生异常:"+e.getMessage());
                e.printStackTrace();
                try{
                    Thread.sleep(1000*10); //发生异常休眠1秒
                }catch (Exception e1){
 
                }
            }
        }
    }
 
 
    /**
     * 获取access_token
     * @return
     */
    public String getAccessToken(){
        DefaultDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/gettoken");
        OapiGettokenRequest request = new OapiGettokenRequest();
        request.setAppkey(APPKEY);
        request.setAppsecret(APPSECRET);
        request.setHttpMethod("GET");
        String accessToken = null;
        try {
            OapiGettokenResponse response = client.execute(request);
            accessToken = response.getAccessToken();
            System.out.println(response);
        } catch (ApiException e) {
            e.printStackTrace();
        }
        return accessToken;
    }
}

 

---------web.xml----------

<servlet>
   <servlet-name>initLbAccessTokenServlet</servlet-name>
   <servlet-class>
      com.jeecg.lb.LbAccessTokenServlet
   </servlet-class>
   <load-on-startup>0</load-on-startup>
</servlet>

 

 

 

----------------------调用方法

 

LbTokenThread.accessToken
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值