weixin4j-qy: 新增userid与openid互换接口
This commit is contained in:
@@ -851,4 +851,39 @@ public class WeixinProxy {
|
||||
public BatchResult getresult(String jobId) throws WeixinException {
|
||||
return batchApi.getresult(jobId);
|
||||
}
|
||||
|
||||
/**
|
||||
* userid转换成openid:该接口使用场景为微信支付、微信红包和企业转账,企业号用户在使用微信支付的功能时,
|
||||
* 需要自行将企业号的userid转成openid。 在使用微信红包功能时,需要将应用id和userid转成appid和openid才能使用。
|
||||
*
|
||||
* @param userid
|
||||
* 企业号内的成员id 必填
|
||||
* @param agentid
|
||||
* 需要发送红包的应用ID,若只是使用微信支付和企业转账,则无需该参数 传入0或负数则忽略
|
||||
* @return 结果数组 第一个元素为对应的openid 第二个元素则为应用的appid(如果有)
|
||||
* @throws WeixinException
|
||||
* @see com.foxinmy.weixin4j.qy.api.UserApi
|
||||
* @see <a
|
||||
* href="http://qydev.weixin.qq.com/wiki/index.php?title=Userid%E4%B8%8Eopenid%E4%BA%92%E6%8D%A2%E6%8E%A5%E5%8F%A3">userid转换成openid</a>
|
||||
*/
|
||||
public String[] userid2openid(String userid, int agentid)
|
||||
throws WeixinException {
|
||||
return userApi.userid2openid(userid, agentid);
|
||||
}
|
||||
|
||||
/**
|
||||
* openid转换成userid:该接口主要应用于使用微信支付、微信红包和企业转账之后的结果查询,
|
||||
* 开发者需要知道某个结果事件的openid对应企业号内成员的信息时,可以通过调用该接口进行转换查询。
|
||||
*
|
||||
* @param openid
|
||||
* 在使用微信支付、微信红包和企业转账之后,返回结果的openid
|
||||
* @return 该openid在企业号中对应的成员userid
|
||||
* @throws WeixinException
|
||||
* @see com.foxinmy.weixin4j.qy.api.UserApi
|
||||
* @see <a
|
||||
* href="http://qydev.weixin.qq.com/wiki/index.php?title=Userid%E4%B8%8Eopenid%E4%BA%92%E6%8D%A2%E6%8E%A5%E5%8F%A3">openid转换成userid</a>
|
||||
*/
|
||||
public String openid2userid(String openid) throws WeixinException {
|
||||
return userApi.openid2userid(openid);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,7 +15,6 @@ import com.foxinmy.weixin4j.qy.model.User;
|
||||
import com.foxinmy.weixin4j.qy.type.InviteType;
|
||||
import com.foxinmy.weixin4j.qy.type.UserStatus;
|
||||
import com.foxinmy.weixin4j.token.TokenHolder;
|
||||
import com.foxinmy.weixin4j.util.StringUtil;
|
||||
|
||||
/**
|
||||
* 成员API
|
||||
@@ -304,9 +303,7 @@ public class UserApi extends QyApi {
|
||||
throws WeixinException {
|
||||
JSONObject obj = new JSONObject();
|
||||
obj.put("userid", userId);
|
||||
if (StringUtil.isBlank(tips)) {
|
||||
obj.put("invite_tips", tips);
|
||||
}
|
||||
obj.put("invite_tips", tips);
|
||||
String invite_user_uri = getRequestUri("invite_user_uri");
|
||||
Token token = tokenHolder.getToken();
|
||||
WeixinResponse response = weixinClient.post(
|
||||
@@ -321,4 +318,51 @@ public class UserApi extends QyApi {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* userid转换成openid:该接口使用场景为微信支付、微信红包和企业转账,企业号用户在使用微信支付的功能时,
|
||||
* 需要自行将企业号的userid转成openid。 在使用微信红包功能时,需要将应用id和userid转成appid和openid才能使用。
|
||||
*
|
||||
* @param userid
|
||||
* 企业号内的成员id 必填
|
||||
* @param agentid
|
||||
* 需要发送红包的应用ID,若只是使用微信支付和企业转账,则无需该参数 传入0或负数则忽略
|
||||
* @return 结果数组 第一个元素为对应的openid 第二个元素则为应用的appid(如果有)
|
||||
* @throws WeixinException
|
||||
* @see <a
|
||||
* href="http://qydev.weixin.qq.com/wiki/index.php?title=Userid%E4%B8%8Eopenid%E4%BA%92%E6%8D%A2%E6%8E%A5%E5%8F%A3">userid转换成openid</a>
|
||||
*/
|
||||
public String[] userid2openid(String userid, int agentid)
|
||||
throws WeixinException {
|
||||
JSONObject obj = new JSONObject();
|
||||
obj.put("userid", userid);
|
||||
if (agentid > 0) {
|
||||
obj.put("agentid", agentid);
|
||||
}
|
||||
String userid2openid_uri = getRequestUri("userid2openid_uri");
|
||||
WeixinResponse response = weixinClient.post(
|
||||
String.format(userid2openid_uri, tokenHolder.getAccessToken()),
|
||||
obj.toJSONString());
|
||||
obj = response.getAsJson();
|
||||
return new String[] { obj.getString("openid"), obj.getString("appid") };
|
||||
}
|
||||
|
||||
/**
|
||||
* openid转换成userid:该接口主要应用于使用微信支付、微信红包和企业转账之后的结果查询,
|
||||
* 开发者需要知道某个结果事件的openid对应企业号内成员的信息时,可以通过调用该接口进行转换查询。
|
||||
*
|
||||
* @param openid
|
||||
* 在使用微信支付、微信红包和企业转账之后,返回结果的openid
|
||||
* @return 该openid在企业号中对应的成员userid
|
||||
* @throws WeixinException
|
||||
* @see <a
|
||||
* href="http://qydev.weixin.qq.com/wiki/index.php?title=Userid%E4%B8%8Eopenid%E4%BA%92%E6%8D%A2%E6%8E%A5%E5%8F%A3">openid转换成userid</a>
|
||||
*/
|
||||
public String openid2userid(String openid) throws WeixinException {
|
||||
String openid2userid_uri = getRequestUri("openid2userid_uri");
|
||||
WeixinResponse response = weixinClient.post(
|
||||
String.format(openid2userid_uri, tokenHolder.getAccessToken()),
|
||||
String.format("{\"openid\": \"%s\"}", openid));
|
||||
return response.getAsJson().getString("userid");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -95,4 +95,8 @@ suite_get_authinfo_uri={api_base_url}/service/get_auth_info?suite_access_token=%
|
||||
# \u83b7\u53d6\u4f01\u4e1a\u53f7\u5e94\u7528
|
||||
suite_get_agent_uri={api_base_url}/service/get_agent?suite_access_token=%s
|
||||
# \u8bbe\u7f6e\u4f01\u4e1a\u53f7\u5e94\u7528
|
||||
suite_set_agent_uri={api_base_url}/service/set_agent?suite_access_token=%s
|
||||
suite_set_agent_uri={api_base_url}/service/set_agent?suite_access_token=%s
|
||||
# userid\u8f6c\u6362\u6210openid
|
||||
userid2openid_uri={api_base_url}/user/convert_to_openid?access_token=%s
|
||||
# openid\u8f6c\u6362\u6210userid
|
||||
openid2userid_uri={api_base_url}/user/convert_to_userid?access_token=%s
|
||||
Reference in New Issue
Block a user