1. 程式人生 > >微信企業號通訊錄與訊息傳送

微信企業號通訊錄與訊息傳送

 企業號所需資訊及詳細設定看官方文件,如題所示,這裡涉及通訊錄管理和訊息傳送,詳情如下:

  • 基礎設定部分

              先測試是否可以正常獲取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內容提取,請求方法等可以谷歌或者度娘