Skip to content

Commit

Permalink
🆕 #2981 【企业微信】增加根据邮箱获取用户Userid的接口方法
Browse files Browse the repository at this point in the history
  • Loading branch information
CN-Wangqiang committed Apr 19, 2023
1 parent 087870e commit 22a29c5
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,23 @@ public interface WxCpUserService {
*/
String getUserId(String mobile) throws WxErrorException;

/**
* <pre>
*
* 通过邮箱获取其所对应的userid。
*
* 请求方式:POST(HTTPS)
* 请求地址:https://qyapi.weixin.qq.com/cgi-bin/user/get_userid_by_email?access_token=ACCESS_TOKEN
*
* 文档地址:https://developer.work.weixin.qq.com/document/path/95895
* </pre>
*
* @param email 手机号码。长度为5~32个字节
* @return userid email对应的成员userid
* @throws WxErrorException .
*/
String getUserIdByEmail(String email,int emailType) throws WxErrorException;

/**
* 获取外部联系人详情.
* <pre>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,17 @@ public String getUserId(String mobile) throws WxErrorException {
return tmpJson.get("userid").getAsString();
}

@Override
public String getUserIdByEmail(String email, int emailType) throws WxErrorException {
JsonObject jsonObject = new JsonObject();
jsonObject.addProperty("email", email);
jsonObject.addProperty("email_type", emailType);
String url = this.mainService.getWxCpConfigStorage().getApiUrl(GET_USER_ID_BY_EMAIL);
String responseContent = this.mainService.post(url, jsonObject.toString());
JsonObject tmpJson = GsonParser.parse(responseContent);
return tmpJson.get("userid").getAsString();
}

@Override
public WxCpExternalContactInfo getExternalContact(String userId) throws WxErrorException {
String url = this.mainService.getWxCpConfigStorage().getApiUrl(GET_EXTERNAL_CONTACT + userId);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -965,6 +965,10 @@ interface User {
* The constant GET_USER_ID.
*/
String GET_USER_ID = "/cgi-bin/user/getuserid";
/**
* The constant GET_USER_ID_BY_EMAIL.
*/
String GET_USER_ID_BY_EMAIL = "/cgi-bin/user/get_userid_by_email";
/**
* The constant GET_EXTERNAL_CONTACT.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,18 @@ public void testGetUserId() throws WxErrorException {
assertNotNull(result);
}

/**
* Test get user id by email.
*
* @throws WxErrorException the wx error exception
*/
@Test
public void testGetUserIdByEmail() throws WxErrorException {
String result = this.wxCpService.getUserService().getUserIdByEmail("xxx",1);
System.out.println(result);
assertNotNull(result);
}

/**
* Test get external contact.
*/
Expand Down

0 comments on commit 22a29c5

Please sign in to comment.