微信企業番号管理通信録-Java

14311 ワード

まだご飯を食べていないので、企業番号の通信録のインタフェースを書いたばかりで、
エンタープライズ番号のアドレス帳には、これらのインタフェース管理部門、メンバー、ラベルを呼び出すことができる完全にオープンなインタフェースがあります.
アプリケーションは、部門、メンバー、ラベルを使用してメッセージを送信したり、アプリケーションの表示範囲を変更したりすることもできます.
通信録管理の下で、3つのインタフェースがあって、部門、メンバー、ラベル管理の3つのインタフェース、私はそれぞれ3つの対応クラスを書いて、通信録APIアドレスを管理します:
http://qydev.weixin.qq.com/wiki/index.php?title=%E7%AE%A1%E7%90%86%E9%80%9A%E8%AE%AF%E5%BD%95
連絡録部門管理類 MGroup:
package jsp.weixin.contacts.util;

import jsp.weixin.ParamesAPI.util.ParamesAPI;
import jsp.weixin.ParamesAPI.util.WeixinUtil;

/**
 *         
 * @author Engineer.Jsp
 * @date 2014.10.10*/
public class MGroup {
	
	//       
	public static String CREATE_URL = "https://qyapi.weixin.qq.com/cgi-bin/department/create?access_token=ACCESS_TOKEN";
	//       
	public static String UPDATE_URL = "https://qyapi.weixin.qq.com/cgi-bin/department/update?access_token=ACCESS_TOKEN";
	//       
	public static String DELETE_URL = "https://qyapi.weixin.qq.com/cgi-bin/department/delete?access_token=ACCESS_TOKEN&id=ID";
	//         
	public static String GETLIST_URL = "https://qyapi.weixin.qq.com/cgi-bin/department/list?access_token=ACCESS_TOKEN";
	
	/**
	 *     
	 * @param name     。     1~64   
	 * @param parentid     id。   id 1
	 * */
	public static String Create(String name , String parentid){
		String Postjson = "{\"name\": %s,\"parentid\": %s}";
		return String.format(Postjson, name,parentid);
	}
	
	/**
	 *     
	 * @param name        。     0~64   。            
	 * @param id   id
	 * */
	public static String Update(String name , String id){
		String Postjson = "{\"id\": %s,\"name\": %s}";
		return String.format(Postjson, name,id);
	}
	
	/**
	 *     
	 * @param id   id
	 * */
	public static String Delete(String id){
		String delete_url = DELETE_URL.replace("ID", id);
		return delete_url;
	}
	//  
	public static void main(String[] args) {
		/**
		 *       
		 * */
		//     
		String access_token = WeixinUtil.getAccessToken(ParamesAPI.corpId, ParamesAPI.secret).getToken();
		//     
		String PostData = Create("    ", "2");
		//     ,    
		int result = WeixinUtil.PostMessage(access_token, "POST", CREATE_URL, PostData);
		//     
		if(0==result){
			System.out.println("    ");
		}
		else {
			System.out.println("    ");
		}
	}
}

アドレス帳メンバー管理クラス MPerson:
package jsp.weixin.contacts.util;

import jsp.weixin.ParamesAPI.util.ParamesAPI;
import jsp.weixin.ParamesAPI.util.WeixinUtil;

/**
 *         
 * @author Engineer.Jsp
 * @date 2014.10.10*/
public class MPerson {
	//      
	public static String CREATE_URL = "https://qyapi.weixin.qq.com/cgi-bin/user/create?access_token=ACCESS_TOKEN";
	//      
	public static String UPDATA_URL = "https://qyapi.weixin.qq.com/cgi-bin/user/update?access_token=ACCESS_TOKEN";
	//      
	public static String DELETE_URL = "https://qyapi.weixin.qq.com/cgi-bin/user/delete?access_token=ACCESS_TOKEN&userid=ID";
	//      
	public static String GET_PERSON_URL = "https://qyapi.weixin.qq.com/cgi-bin/user/get?access_token=ACCESS_TOKEN&userid=ID";
	//        
	public static String GET_GROUP_URL = "https://qyapi.weixin.qq.com/cgi-bin/user/simplelist?access_token=ACCESS_TOKEN&department_id=ID&fetch_child=0&status=0";
	
	/**
	 *     
	 * @param userid   UserID。        ,       。   1~64   
	 * @param name     。   1~64   
	 * @param department       id     : "department": [x, y]
	 * @param position     
	 * @param mobile     。       ,mobile/weixinid/email        
	 * @param gender   。gender=0   ,=1   。  gender=0
	 * @param tel     。   0~64   
	 * @param email   。   0~64   。       
	 * @param weixinid    。       
	 * */
	public static String Create(String  userid,String name ,String position ,String mobile ,String gender,String tel ,String email,String weixinid){
		String PostData = "{\"userid\": %s,\"name\": %s,\"department\": [1, 2],\"position\": %s,\"mobile\": %s,\"gender\": %s,\"tel\": %s,\"email\": %s,\"weixinid\": %s}";
		return String.format(PostData, userid,name,position,mobile,gender,tel,email,weixinid);
	}
	
	/**
	 *     
	 * @param userid   UserID。        ,       。   1~64   
	 * @param name     。   1~64   
	 * @param department       id     : "department": [x]
	 * @param position     
	 * @param mobile     。       ,mobile/weixinid/email        
	 * @param gender   。gender=0   ,=1   。  gender=0
	 * @param tel     。   0~64   
	 * @param email   。   0~64   。       
	 * @param weixinid    。       
	 * @param enable   /    。1      ,0      
	 * */
	public static String Updata(String  userid,String name ,String position ,String mobile ,String gender,String tel ,String email,String weixinid,String enable){
		String PostData = "{\"userid\": %s,\"name\": %s,\"department\": [1],\"position\": %s,\"mobile\": %s,\"gender\": %s,\"tel\": %s,\"email\": %s,\"weixinid\": %s,\"enable\": %s}";
		return String.format(PostData, userid,name,position,mobile,gender,tel,email,weixinid,enable);
	}
	
	/**
	 *     
	 * @param userid   UserID。        
	 * */
	public static String Delete(String userid){
		String delete_url = DELETE_URL.replace("ID", userid);
		return delete_url;
	}
	/**
	 *     
	 * @param userid   UserID。        
	 * */
	public static String GPerson(String userid){
		String getperson_url = GET_PERSON_URL.replace("ID", userid);
		return getperson_url;
	}
	/**
	 *       
	 * @param department_id      id
	 * @param fetch_child 1/0:               (  )
	 * @param status 0      ,1         ,2        ,4         。status    (  )
	 * */
	public static String GGroup(String department_id){
		String getgroup_url = GET_GROUP_URL.replace("ID", department_id);
		return getgroup_url;
	}
	//  
	public static void main(String[] args) {
		/**
		 *       
		 * */
		//     
		String access_token = WeixinUtil.getAccessToken(ParamesAPI.corpId, ParamesAPI.secret).getToken();
		//     
		String PostData = Create("  UserID", "Engineer-JSP", "   ", "150xxxx8524", "0", "0731-80xxx89", "[email protected]", "oYxxxxxxxxxxxxxxx26336o3");
		//     ,    
		int result = WeixinUtil.PostMessage(access_token, "POST", CREATE_URL, PostData);
		//     
		if(0==result){
			System.out.println("    ");
		}
		else {
			System.out.println("    ");
		}

	}

}

アドレス帳ラベル管理クラス MTag:
package jsp.weixin.contacts.util;

import jsp.weixin.ParamesAPI.util.ParamesAPI;
import jsp.weixin.ParamesAPI.util.WeixinUtil;

/**
 *         
 * @author Engineer.Jsp
 * @date 2014.10.10*/
public class MTag {
	//      
	public static String CREATE_TAG_URL = "https://qyapi.weixin.qq.com/cgi-bin/tag/create?access_token=ACCESS_TOKEN";
	//      
	public static String UPDATA_TAG_URL = "https://qyapi.weixin.qq.com/cgi-bin/tag/update?access_token=ACCESS_TOKEN";
	//      
	public static String DELETE_TAG_URL = "https://qyapi.weixin.qq.com/cgi-bin/tag/delete?access_token=ACCESS_TOKEN&tagid=ID";
	//        
	public static String GET_TAG_PERSON = "https://qyapi.weixin.qq.com/cgi-bin/tag/get?access_token=ACCESS_TOKEN&tagid=ID";
	//        
	public static String ADD_TAG_PERSON = "https://qyapi.weixin.qq.com/cgi-bin/tag/addtagusers?access_token=ACCESS_TOKEN";
	//        
	public static String DELETE_TAG_PERSON = "https://qyapi.weixin.qq.com/cgi-bin/tag/deltagusers?access_token=ACCESS_TOKEN";
	
	
	/**
	 *     
	 * @param tagname     。   1~64   ,              ,          
	 * */
	public static String Create_Tag(String tagname){
		String PostData = "{\"tagname\": %s}";
		return String.format(PostData, tagname);
	}
	
	/**
	 *       
	 * @param tagid   ID
	 * @param tagname     。  64   
	 * */
	public static String Updata_Tag(String tagid , String tagname){
		String PostData = "{\"tagid\": %s,\"tagname\": %s}";
		return String.format(PostData, tagid,tagname);
	}
	
	/**
	 *     
	 * @param tagid   ID
	 * */
	public static String Delete_Tag(String tagid){
		String delete_url = DELETE_TAG_URL.replace("ID", tagid);
		return delete_url;
	}
	
	/**
	 *       
	 * @param tagid   ID
	 * */
	public static String Get_Tag_Person(String tagid){
		String get_tagperson_url = GET_TAG_PERSON.replace("ID", tagid);
		return get_tagperson_url;
	}
	
	/**
	 *       
	 * @param tagid   ID
	 * @param userlist     ID     :"userlist":[ "user1","user2"]
	 * */
	public static String Add_Tag_Person(String tagid,String userlist){
		String PostData = "{\"tagid\": %s,\"userlist\":%s}";
		return String.format(PostData, tagid,userlist);
	}
	
	/**
	 *       
	 * @param tagid   ID
	 * @param userlist     ID     :"userlist":[ "user1","user2"]
	 * */
	public static String Delete_Tag_Person(String tagid,String userlist){
		String PostData = "{\"tagid\": %s,\"userlist\":%s}";
		return String.format(PostData, tagid,userlist);
	}
	//  
	public static void main(String[] args) {
		/**
		 *       
		 * */
		//     
		String access_token = WeixinUtil.getAccessToken(ParamesAPI.corpId, ParamesAPI.secret).getToken();
		//     
		String PostData = Create_Tag("    ");
		//     ,    
		int result = WeixinUtil.PostMessage(access_token, "POST", CREATE_TAG_URL, PostData);
		//     
		if(0==result){
			System.out.println("    ");
		}
		else {
			System.out.println("    ");
		}
	}

}
  WeixinUtil getAccessToken() PostMessage()     ,       ,     ,     2      
<span style="font-family: Arial, Helvetica, sans-serif;">getAccessToken()</span>
     /** 
	 *   access_token 
	 *  
	 * @param CorpID   Id 
	 * @param SECRET         ,  secret      、   、       ;           secret 
	 * @return 
	 */  
	public static AccessToken getAccessToken(String corpID, String secret) {  
	    AccessToken accessToken = null;  
	  
	    String requestUrl = access_token_url.replace("CorpID", corpID).replace("SECRET", secret);  
	    JSONObject jsonObject = HttpRequest(requestUrl, "GET", null);  
	    //         
	    if (null != jsonObject) {  
	        try {  
	            accessToken = new AccessToken();  
	            accessToken.setToken(jsonObject.getString("access_token"));  
	            accessToken.setExpiresIn(jsonObject.getInt("expires_in"));
	            System.out.println("  token  :"+jsonObject.getString("access_token")+"————"+jsonObject.getInt("expires_in"));
	        } catch (Exception e) {  
	            accessToken = null;  
	            //   token    
	            String error = String.format("  token   errcode:{} errmsg:{}", jsonObject.getInt("errcode"), jsonObject.getString("errmsg"));  
	            System.out.println(error);
	        }  
	    }  
	    return accessToken;  
	}
 
  
  
 
 
 
<strong>PostMessage():</strong>
       
/**
	 *            
	 * @param access_token   
	 * @param RequestMt     
	 * @param RequestURL     
	 * @param outstr   json  
	 * */
    public static int PostMessage(String access_token ,String RequestMt , String RequestURL , String outstr){
    	int result = 0;
    	RequestURL = RequestURL.replace("ACCESS_TOKEN", access_token);
    	JSONObject jsonobject = WeixinUtil.HttpRequest(RequestURL, RequestMt, outstr);
    	 if (null != jsonobject) {  
 	        if (0 != jsonobject.getInt("errcode")) {  
 	            result = jsonobject.getInt("errcode");  
 	            String error = String.format("     errcode:{} errmsg:{}", jsonobject.getInt("errcode"), jsonobject.getString("errmsg"));  
 	            System.out.println(error); 
 	        }  
 	    }
    	return result;
    }
 
 
HttpRequest():
 
  
 

  /** 
     *   https        
     *  
     * @param requestUrl      
     * @param requestMethod     (GET、POST) 
     * @param outputStr       
     * @return JSONObject(  JSONObject.get(key)     json      ) 
     */  
	public static JSONObject HttpRequest(String request , String RequestMethod , String output ){
		@SuppressWarnings("unused")
		JSONObject jsonObject = null;
		StringBuffer buffer = new StringBuffer();
		try {
			//    
			URL url = new URL(request);
			HttpURLConnection connection = (HttpURLConnection) url.openConnection();
			connection.setDoOutput(true);
			connection.setDoInput(true);
			connection.setUseCaches(false);
			connection.setRequestMethod(RequestMethod);
			if(output!=null){
				OutputStream out = connection.getOutputStream();
				out.write(output.getBytes("UTF-8"));
				out.close();
			}
			//   
			InputStream input = connection.getInputStream();
			InputStreamReader inputReader = new InputStreamReader(input,"UTF-8");
			BufferedReader reader = new BufferedReader(inputReader);
			String line;
			while((line=reader.readLine())!=null){
				buffer.append(line);
			}
			//    、    
			reader.close();
			inputReader.close();
			input.close();
			input = null;
			connection.disconnect();
			jsonObject = JSONObject.fromObject(buffer.toString());
		} catch (Exception e) {
		}
		return jsonObject;
	} 

以上が,通信録インタフェースを管理する主なインタフェースである.
新規部門:
新規メンバー:
新しいラベル:
質問があれば、もう一度メッセージを残してください.最初の返事を見て、ブログを見てくれてありがとう.