微信企業番号管理通信録-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:
アドレス帳メンバー管理クラス MPerson:
アドレス帳ラベル管理クラス MTag:
エンタープライズ番号のアドレス帳には、これらのインタフェース管理部門、メンバー、ラベルを呼び出すことができる完全にオープンなインタフェースがあります.
アプリケーションは、部門、メンバー、ラベルを使用してメッセージを送信したり、アプリケーションの表示範囲を変更したりすることもできます.
通信録管理の下で、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;
}
以上が,通信録インタフェースを管理する主なインタフェースである.
新規部門:
新規メンバー:
新しいラベル:
質問があれば、もう一度メッセージを残してください.最初の返事を見て、ブログを見てくれてありがとう.