admin管理员组

文章数量:1559072

一、发送http请求的工具类


import java.io.bufferedreader;
import java.io.inputstreamreader;
import java.url;
import java.urlconnection;


/**
 * 发送http请求工具类(get)
 * @author chenfanglin
 * @date 2015年9月24日 下午2:47:23
 */
public class httprequestclient {
/**
     * 向指定url发送get方法的请求
     * 
     * @param url
     *            发送请求的url
     * @param param
     *            请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
     * @param authorization 包含 access_token 或者 加密的(client_id:client_secret)
     * @return url 所代表远程资源的响应结果
     */
    public static string sendget(string url,string param,string authorization) {
        string result = "";
        bufferedreader in = null;
        try {
            string urlnamestring = url "?" param;
            url realurl = new ;
            // 打开和url之间的连接
            urlconnection connection = realurl.openconnection();
            // 设置通用的请求属性
            connection.setrequestproperty("accept", "*/*");
            connection.setrequestproperty("connection", "keep-alive");
            connection.setrequestproperty("authorization", authorization);
            // 建立实际的连接
            connection.connect();
            // 定义 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请求出现异常!" url "->" param "->" authorization);
            e.printstacktrace();
        }
        // 使用finally块来关闭输入流
        finally {
            try {
                if (in != null) {
                    in.close();
                }
            } catch (exception e2) {
                e2.printstacktrace();
            }
        }
        return result;
    }
}


二、获取企业邮箱信息的工具类

import sun.misc.base64encoder;



import com.dataeyemon.cachedobjects;


/**
 * 获取腾讯企业邮箱信息
 * 
 * @author chenfanglin
 * @date 2015年9月24日 下午2:57:38
 */
public class tencentemailutil {
// 公司管理员账号
public static final string client_id = "xxxx";
// key
public static final string client_secret = "xxxx";
// basic
public static final string basic = "basic";
// bearer
public static final string bearer = "bearer";
// grant_type
public static final string grant_type = "grant_type=client_credentials";


/**
* 将client_id 和client_secret 以base64 加密方式加密,即base64(client_id: client_secret),
* @return
* @author chenfanglin

* @date 2015年9月24日 下午3:27:11
*/
public static string encodeemail(){
base64encoder encoder = new base64encoder();
// 加密后的字符串
string encrypted = encoder.encode((client_id ":" client_secret).getbytes());
return basic " " encrypted;
}

/**
* 根据 邮箱账号获取成员信息
* @param email
* @return
* @author chenfanglin

* @date 2015年9月24日 下午3:47:56
*/
public static userinfo getuserinfobyemail(string email) {
string token = getaccesstoken().getaccess_token();
string respon=httprequestclient.sendget("http://openapi.exmail.qq:12211/openapi/user/get",
        "alias=" email, bearer " " token);
userinfo userinfo = cachedobjects.gson.fromjson(respon, userinfo.class);
return userinfo;
}

/**
* oauth验证授权,获取 access_token  
* @return
* @author chenfanglin

* @date 2015年9月24日 下午3:22:43
*/
public static accesstoken getaccesstoken(){
string authorization = encodeemail();
string respon = httprequestclient.sendget("https://exmail.qq/cgi-bin/token", grant_type, authorization);
accesstoken accesstoken =  cachedobjects.gson.fromjson(respon, accesstoken.class);
return accesstoken;
}

/**
* 获取所有的公司邮箱
* @return
* @author chenfanglin

* @date 2015年9月24日 下午3:50:56
*/
public static companyemail getemaillist(){
string token = getaccesstoken().getaccess_token();
string respon=httprequestclient.sendget("http://openapi.exmail.qq:12211/openapi/user/list",
            "ver=0",bearer " " token);
companyemail emaillist = cachedobjects.gson.fromjson(respon, companyemail.class);
return emaillist;
}

/**
* 获取公司所有的部门
* @return
* @author chenfanglin

* @date 2015年9月24日 下午3:58:45
*/
public static department getdepartmentlist(){
string token = getaccesstoken().getaccess_token();
string respon = httprequestclient.sendget("http://openapi.exmail.qq:12211/openapi/party/list",
        "partypath=",bearer " " token);
department department = cachedobjects.gson.fromjson(respon, department.class);
return department;
}
}

本文标签: 腾讯企业邮箱