mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-10-21 02:57:37 +08:00
🆕 #2981 【企业微信】增加根据邮箱获取用户Userid的接口方法
This commit is contained in:
@@ -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>
|
||||
|
@@ -203,6 +203,17 @@ public class WxCpUserServiceImpl implements WxCpUserService {
|
||||
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);
|
||||
|
@@ -965,6 +965,10 @@ public interface WxCpApiPathConsts {
|
||||
* 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.
|
||||
*/
|
||||
|
@@ -178,6 +178,18 @@ public class WxCpUserServiceImplTest {
|
||||
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.
|
||||
*/
|
||||
|
Reference in New Issue
Block a user