1
0
mirror of https://github.com/silenceper/wechat.git synced 2026-02-04 12:52:27 +08:00

feat: 企业微信-获取成员UserID (#876)

This commit is contained in:
markwang
2026-01-22 19:18:35 +08:00
committed by GitHub
parent 9b028e5368
commit eebfb93386

View File

@@ -32,6 +32,10 @@ const (
batchInviteURL = "https://qyapi.weixin.qq.com/cgi-bin/batch/invite?access_token=%s"
// getJoinQrcodeURL 获取加入企业二维码
getJoinQrcodeURL = "https://qyapi.weixin.qq.com/cgi-bin/corp/get_join_qrcode"
// getUseridURL 手机号获取userid
getUseridURL = "https://qyapi.weixin.qq.com/cgi-bin/user/getuserid?access_token=%s"
// getUseridByEmailURL 邮箱获取userid
getUseridByEmailURL = "https://qyapi.weixin.qq.com/cgi-bin/user/get_userid_by_email?access_token=%s"
)
type (
@@ -564,3 +568,58 @@ func (r *Client) GetJoinQrcode(req *GetJoinQrcodeRequest) (*GetJoinQrcodeRespons
err = util.DecodeWithError(response, result, "GetJoinQrcode")
return result, err
}
// GetUseridRequest 手机号获取userid请求
type GetUseridRequest struct {
Mobile string `json:"mobile"`
}
// GetUseridResponse 获取userid响应
type GetUseridResponse struct {
util.CommonError
Userid string `json:"userid"`
}
// GetUserid 手机号获取userid
// see https://developer.work.weixin.qq.com/document/path/95402
func (r *Client) GetUserid(req *GetUseridRequest) (*GetUseridResponse, error) {
var (
accessToken string
err error
)
if accessToken, err = r.GetAccessToken(); err != nil {
return nil, err
}
var response []byte
if response, err = util.PostJSON(fmt.Sprintf(getUseridURL, accessToken), req); err != nil {
return nil, err
}
result := &GetUseridResponse{}
err = util.DecodeWithError(response, result, "GetUserid")
return result, err
}
// GetUseridByEmailRequest 邮箱获取userid请求
type GetUseridByEmailRequest struct {
Email string `json:"email"`
EmailType int `json:"email_type,omitempty"`
}
// GetUseridByEmail 邮箱获取userid
// see https://developer.work.weixin.qq.com/document/path/95895
func (r *Client) GetUseridByEmail(req *GetUseridByEmailRequest) (*GetUseridResponse, error) {
var (
accessToken string
err error
)
if accessToken, err = r.GetAccessToken(); err != nil {
return nil, err
}
var response []byte
if response, err = util.PostJSON(fmt.Sprintf(getUseridByEmailURL, accessToken), req); err != nil {
return nil, err
}
result := &GetUseridResponse{}
err = util.DecodeWithError(response, result, "GetUseridByEmail")
return result, err
}