微信企業號通訊錄與訊息傳送
阿新 • • 發佈:2019-02-19
企業號所需資訊及詳細設定看官方文件,如題所示,這裡涉及通訊錄管理和訊息傳送,詳情如下:
- 基礎設定部分
先測試是否可以正常獲取ACCESS_TOKEN
//獲取token String corpid = ""; String corpsecret = "";// String TOKEN_URL = "https://qyapi.weixin.qq.com/cgi-bin/gettoken"; Map<String,Object> params = new HashMap<String,Object>(); params.put("corpid", corpid); params.put("corpsecret", corpsecret); String rtn_token = HttpRequestUtils.sendGet(TOKEN_URL, params); String access_token = SinaWeiboMid2Id.parserJson(rtn_token, "access_token"); System.out.println("get token result "+access_token);
- 通訊錄管理
建立部門(跟部門的id為1,後臺手動建立的部門會分配預設id,可通過查詢部門列表檢視)
//建立部門測試 String CREATE_DEPARTMET = "https://qyapi.weixin.qq.com/cgi-bin/department/create?access_token=ACCESS_TOKEN"; CREATE_DEPARTMET = CREATE_DEPARTMET.replace("ACCESS_TOKEN", access_token); String postJson = "{\"name\":\"%s\",\"parentid\": %s,\"id\": %s}"; String outputStr=String.format(postJson, "大資料營銷部",1,3); System.out.println(outputStr); rtn_token = HttpRequestUtils.wxPost(CREATE_DEPARTMET,outputStr); System.out.println("create part return "+rtn_token);
查詢部門來了(id如果不傳,查詢所有的部門)
//查詢部門測試 String SEARCH_DEPARTMET = "https://qyapi.weixin.qq.com/cgi-bin/department/list"; params = new HashMap<String,Object>(); params.put("access_token", access_token); params.put("id", 3); rtn_token = HttpRequestUtils.sendGet(SEARCH_DEPARTMET, params); System.out.println("get department result "+rtn_token);
查詢部門所有成員
//查詢部門成員資訊
String SEARCH_DEPARTMET_USER = "https://qyapi.weixin.qq.com/cgi-bin/user/simplelist";
params = new HashMap<String,Object>();
params.put("access_token", access_token);
params.put("department_id", 3);
rtn_token = HttpRequestUtils.sendGet(SEARCH_DEPARTMET_USER, params);
System.out.println("get department user result "+rtn_token);
建立部門成員
//建立成員測試
String CREATE_USER = "https://qyapi.weixin.qq.com/cgi-bin/user/create?access_token=ACCESS_TOKEN";
CREATE_USER = CREATE_USER.replace("ACCESS_TOKEN", access_token);
postJson = "{\"userid\":\"%s\",\"name\": \"%s\",\"mobile\": \"%s\",\"department\":%d,\"gender\":%d}";
outputStr=String.format(postJson, "4_#","開發人員","**",3,1);
rtn_token = HttpRequestUtils.wxPost(CREATE_USER,outputStr);
System.out.println("create user return "+rtn_token);
查詢某成員資訊
//查詢成員測試
String SERACH_USER = "https://qyapi.weixin.qq.com/cgi-bin/user/get";
params = new HashMap<String,Object>();
params.put("access_token", access_token);
params.put("userid", "3_**");
rtn_token = HttpRequestUtils.sendGet(SERACH_USER, params);
System.out.println("get user result "+rtn_token);
- 企業號傳送訊息給成員
一對一或者一對多傳送
//向指定成員發訊息
String SEND_USER = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN";
SEND_USER = SEND_USER.replace("ACCESS_TOKEN", access_token);
postJson = "{\"touser\":\"%s\",\"toparty\": %d,\"msgtype\": \"%s\",\"agentid\":\"%s\",\"textcard\":{\"title\":\"%s\",\"description\":\"%s\",\"url\":\"%s\",\"btntxt\":\"%s\"}}";
outputStr=String.format(postJson, "##",3,"textcard","**","領獎通知","<div class=\\\"gray\\\">2016年9月26日</div> <div class=\\\"normal\\\">恭喜你抽中iPhone 7一臺,領獎碼:xxxx</div><div class=\\\"highlight\\\">請於2016年10月10日前聯絡行政同事領取</div>","www.baidu.com","領取");
System.out.println(outputStr);
rtn_token = HttpRequestUtils.wxPost(SEND_USER,outputStr);
System.out.println("send user return "+rtn_token);
注:程式碼中涉及的json內容提取,請求方法等可以谷歌或者度娘