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;
}
}
j9九游会老哥俱乐部交流区的版权声明:本文标题:腾讯企业邮箱openapi 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1727422658a1113757.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论