From ef131f68bd7cee2418244a34e5798b7ba6aaffc7 Mon Sep 17 00:00:00 2001 From: jinyu Date: Sun, 8 Mar 2015 16:58:04 +0800 Subject: [PATCH] fix issues 5 & issuese 6 --- CHANGE.md | 6 +++++- weixin4j-qy/README.md | 4 ++++ weixin4j-qy/weixin4j-qy-api/README.md | 4 ++++ .../com/foxinmy/weixin4j/qy/WeixinProxy.java | 20 +++++++++++++++++++ .../com/foxinmy/weixin4j/qy/api/UserApi.java | 9 +++++---- .../foxinmy/weixin4j/qy/api/weixin.properties | 2 +- 6 files changed, 39 insertions(+), 6 deletions(-) diff --git a/CHANGE.md b/CHANGE.md index dc2f12a1..2ad833a0 100644 --- a/CHANGE.md +++ b/CHANGE.md @@ -176,4 +176,8 @@ * 2015-03-06 - + 新增oauth授权接口 \ No newline at end of file + + **weixin4j-mp**: 新增oauth授权接口 + +* 2015-03-08 + + + **weixin4j-qy**: 新增根据code获取成员信息接口 \ No newline at end of file diff --git a/weixin4j-qy/README.md b/weixin4j-qy/README.md index 6e111855..704ced6c 100644 --- a/weixin4j-qy/README.md +++ b/weixin4j-qy/README.md @@ -106,3 +106,7 @@ weixin4j-qy * 2015-01-15 + **weixin4j-qy-api**: 新增邀请成员关注接口 + +* 2015-03-08 + + + **weixin4j-qy-api**: 新增根据code获取成员信息接口 diff --git a/weixin4j-qy/weixin4j-qy-api/README.md b/weixin4j-qy/weixin4j-qy-api/README.md index ca69cefc..c3e7ec44 100644 --- a/weixin4j-qy/weixin4j-qy-api/README.md +++ b/weixin4j-qy/weixin4j-qy-api/README.md @@ -71,3 +71,7 @@ weixin.properties说明 * 2015-01-15 + 新增邀请成员关注接口 + +* 2015-03-08 + + + 新增根据code获取成员信息接口 diff --git a/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/WeixinProxy.java b/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/WeixinProxy.java index 266c9e5a..ee866cdc 100644 --- a/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/WeixinProxy.java +++ b/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/WeixinProxy.java @@ -174,6 +174,26 @@ public class WeixinProxy { return userApi.getUser(userid); } + /** + * code获取userid(管理员须拥有agent的使用权限;agentid必须和跳转链接时所在的企业应用ID相同。) + * + * @param code + * 通过员工授权获取到的code,每次员工授权带上的code将不一样,code只能使用一次,5分钟未被使用自动过期 + * @param agentid + * 跳转链接时所在的企业应用ID + * @see com.foxinmy.weixin4j.qy.api.UserApi + * @return 成员对象 + * @see {@link com.foxinmy.weixin4j.qy.WeixinProxy#getUser(String)} + * @see 企业获取code + * @see 根据code获取成员信息 + * @throws WeixinException + */ + public User getUserByCode(String code, int agentid) throws WeixinException { + return userApi.getUserByCode(code, agentid); + } + /** * 获取部门成员 * diff --git a/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/api/UserApi.java b/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/api/UserApi.java index ec42ec49..3196b772 100644 --- a/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/api/UserApi.java +++ b/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/api/UserApi.java @@ -112,20 +112,21 @@ public class UserApi extends QyApi { * 通过员工授权获取到的code,每次员工授权带上的code将不一样,code只能使用一次,5分钟未被使用自动过期 * @param agentid * 跳转链接时所在的企业应用ID - * @return {"UserId":"员工UserID","DeviceId":"手机设备号(由微信在安装时随机生成)"} + * @see com.foxinmy.weixin4j.qy.api.UserApi + * @return 成员对象 + * @see {@link com.foxinmy.weixin4j.qy.api.UserApi#getUser(String)} * @see 企业获取code * @see 根据code获取成员信息 * @throws WeixinException */ - public JSONObject getUserid(String code, int agentid) - throws WeixinException { + public User getUserByCode(String code, int agentid) throws WeixinException { String user_getid_uri = getRequestUri("user_getid_uri"); Token token = tokenHolder.getToken(); Response response = request.post(String.format(user_getid_uri, token.getAccessToken(), code, agentid)); - return response.getAsJson(); + return getUser(response.getAsJson().getString("UserId")); } /** diff --git a/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/api/weixin.properties b/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/api/weixin.properties index a7a4e4a7..702c7459 100644 --- a/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/api/weixin.properties +++ b/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/api/weixin.properties @@ -20,7 +20,7 @@ user_update_uri={api_base_url}/user/update?access_token=%s # \u83b7\u53d6\u6210\u5458\u4fe1\u606f user_get_uri={api_base_url}/user/get?access_token=%s&userid=%s # code\u83b7\u53d6\u6210\u5458\u4fe1\u606f -user_getid_uri={api_base_url}/getuserinfo?access_token=%s&code=%s&agentid=%d +user_getid_uri={api_base_url}/user/getuserinfo?access_token=%s&code=%s&agentid=%d # \u83b7\u53d6\u90e8\u95e8\u6210\u5458 user_slist_uri={api_base_url}/user/simplelist?access_token=%s&department_id=%d&fetch_child=%d&status=%d # \u83b7\u53d6\u90e8\u95e8\u6210\u5458(\u8be6\u60c5)