wechat-0020, 企业微信-通讯录同步

首先获取access_token,这边只是简单的获取一下,真的做项目的时候,需要定时获取,可以在监听器或servlet中完成获取,并发到缓存中,之后单独开一篇文章。这边先入门

import com.google.gson.Gson;
import com.wechat.common.pojo.AccessToken;

/**
 * 
 * 获取accessToken
 * 
 * @author WRY
 *
 */
public class AccessTokenUtil {
	private static String ACCESSTOKENURL = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={corpId}&corpsecret={secret}";
	/**
	 * 获取access_Token
	 * 
	 * @return
	 */
	public static String getAccessToken(String corpId, String secret) {
		String url = ACCESSTOKENURL.replace("{corpId}", corpId).replace("{secret}", secret);
		String accessTokenJsonStr = Browser.httpGet(url);
		Gson gson = new Gson();
		AccessToken accessToken = gson.fromJson(accessTokenJsonStr, AccessToken.class);
		if(accessToken.getErrcode() != 0) {
			return null;
		}else {
			return accessToken.getAccess_token();
		}
	}

这边接口比较多,不做意义的测试,基本差不多,这边笔者就写了,成员的增删改查和接受通讯录变更事件

更多可参见企业微信api:https://work.weixin.qq.com/api/doc

import org.junit.Test;

import com.google.gson.Gson;
import com.wechat.addressbook.model.ReturnMessage;
import com.wechat.addressbook.model.User;
import com.wechat.common.util.Browser;

/**
 * 通讯录的测试类
 * @author WRY
 *
 */
public class AddressbookTest {
	private static String URL = "https://qyapi.weixin.qq.com/cgi-bin/user/{operate}?access_token={accessToken}";
	/**
	 * 创建成员
	 */
	@Test
	public void testAddUser() {
		User user = new User();
		user.setUserid("lisi");
		user.setName("李四");
		user.setMobile("17502115451");
		int department[] = {1};
		user.setDepartment(department);
		String accessToken = "YaTt6au3Dq8C7WtP_OY6c84BMUFDIX8IkzhUohedukBmf87ccUyHXj76ZLe5CSa0utAFU8dQhkk0K-Avjl5aBRzratADIFEgR5Wc9KY9Tt8YseTrBYbleFAjkcv9UNE5UCbtpqOgFtmL3VPuL-Z37gEC9fv8eHPwJYvgricJHp7GQ5-d7xtw1e-9s_5FfVXLZ4iFKr0EBjcsKOcBE-SIjQ"; 
		String url = URL.replace("{operate}", "create").replace("{accessToken}", accessToken);
	System.out.println(url);
		// 将对象序列化
		String param = new Gson().toJson(user);
	System.out.println(param);	
		// 提交到企业微信
		String soundCode = Browser.httpPost(url, param);
		// json数据转为对象
		ReturnMessage rm = new Gson().fromJson(soundCode, ReturnMessage.class);
		if(rm.getErrcode() == 0) {
	System.out.println("创建成功");
		} else {
	System.out.println("创建失败" + rm.getErrmsg());
		}
		
	}
	
	/**
	 * 查询成员
	 */
	@Test
	public void testQueryUser() {
		String accessToken = "YaTt6au3Dq8C7WtP_OY6c84BMUFDIX8IkzhUohedukBmf87ccUyHXj76ZLe5CSa0utAFU8dQhkk0K-Avjl5aBRzratADIFEgR5Wc9KY9Tt8YseTrBYbleFAjkcv9UNE5UCbtpqOgFtmL3VPuL-Z37gEC9fv8eHPwJYvgricJHp7GQ5-d7xtw1e-9s_5FfVXLZ4iFKr0EBjcsKOcBE-SIjQ"; 
		String userId = "zhangsan";
		String url = URL.replace("{operate}", "get").replace("{accessToken}", accessToken)+"&userid="+userId;
	System.out.println(url);
		String soundCode = Browser.httpGet(url);
	System.out.println(soundCode);
		User user = new Gson().fromJson(soundCode, User.class);
		if(user.getErrcode() == 0) {
	System.out.println("查询成功" + user);
		} else {
	System.out.println("查询失败");
		}
	}

	/**
	 * 更新成员
	 */
	@Test
	public void testUpdateUser() {
		User user = new User();
		user.setUserid("lisi");
		user.setName("李四");
		user.setMobile("17502115451");
		int department[] = {1};
		user.setDepartment(department);
		user.setPosition("java开发工程师");
		String accessToken = "YaTt6au3Dq8C7WtP_OY6c84BMUFDIX8IkzhUohedukBmf87ccUyHXj76ZLe5CSa0utAFU8dQhkk0K-Avjl5aBRzratADIFEgR5Wc9KY9Tt8YseTrBYbleFAjkcv9UNE5UCbtpqOgFtmL3VPuL-Z37gEC9fv8eHPwJYvgricJHp7GQ5-d7xtw1e-9s_5FfVXLZ4iFKr0EBjcsKOcBE-SIjQ"; 
		String url = URL.replace("{operate}", "update").replace("{accessToken}", accessToken);
	System.out.println(url);
		// 对象序列化
		String param = new Gson().toJson(user);
		String soundCode = Browser.httpPost(url, param);
		ReturnMessage rm = new Gson().fromJson(soundCode, ReturnMessage.class);
		if(rm.getErrcode() == 0) {
	System.out.println("更新成功");
		} else {
	System.out.println("更新失败" + rm.getErrmsg());
		}
	}
	
	/**
	 * 删除成员
	 */
	@Test
	public void testDeleteUser() {
		String accessToken = "YaTt6au3Dq8C7WtP_OY6c84BMUFDIX8IkzhUohedukBmf87ccUyHXj76ZLe5CSa0utAFU8dQhkk0K-Avjl5aBRzratADIFEgR5Wc9KY9Tt8YseTrBYbleFAjkcv9UNE5UCbtpqOgFtmL3VPuL-Z37gEC9fv8eHPwJYvgricJHp7GQ5-d7xtw1e-9s_5FfVXLZ4iFKr0EBjcsKOcBE-SIjQ"; 
		String userId = "zhangsan";
		String url = URL.replace("{operate}", "delete").replace("accessToken", accessToken) + "&userid=" + userId;
		String soundCode = Browser.httpGet(url);
		ReturnMessage rm = new Gson().fromJson(soundCode, ReturnMessage.class);
		if(rm.getErrcode() == 0) {
			System.out.println("删除成功");
		} else {
			System.out.println("删除失败" + rm.getErrmsg());
		}
	}
}

接受通讯录变更事件,首先得在企业微信后台设置一下。

wechat-0020, 企业微信-通讯录同步_第1张图片

其次就是测试接口,接口的接口的接入可参考我的另外一篇文章

https://blog.csdn.net/wrongyao/article/details/80192536

接入以后,就可以在这个接口上实现自己的逻辑了。

你可能感兴趣的:(#,企业微信)