From 99194745a9bbb6eeb07d9ac134036c34b49f8ca1 Mon Sep 17 00:00:00 2001 From: wyhwyhwyh <573805736@qq.com> Date: Fri, 19 Nov 2021 11:33:41 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=84=E4=BB=B6=E5=8C=85sns=E6=9B=B4?= =?UTF-8?q?=E6=96=B0SnsUser=E3=80=81SnsUserID=E6=B5=8B=E8=AF=95=E5=AE=8C?= =?UTF-8?q?=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api_sns.go | 30 ++++++++++++++++++++---------- api_sns_test.go | 10 +++++++++- 2 files changed, 29 insertions(+), 11 deletions(-) diff --git a/api_sns.go b/api_sns.go index d096f40..2c690ee 100644 --- a/api_sns.go +++ b/api_sns.go @@ -47,23 +47,33 @@ type SnsUserResponse struct { } //SnsUserInfo 获取用户授权的个人信息详情 -func (c *DingTalkClient) SnsUserInfo(unionid string) (*SnsUserInfoResponse, error) { - var udata struct { +func (c *DingTalkClient) SnsUserInfo(userid string) (*SnsUserInfoResponse, error) { + + var data SnsUserInfoResponse + params := url.Values{} + params.Add("userid", userid) + err := c.httpRPC("user/get", params, nil, &data) + if err != nil { + return nil, err + } + return &data, err + +} + +// SnsUserid 获取用户ID +func (c *DingTalkClient) SnsUserID(unionid string) (*string, error) { + var data struct { OAPIResponse UserID string `json:"userid"` } - uparams := url.Values{} - uparams.Add("unionid", unionid) - err := c.httpRPC("user/getUseridByUnionid", uparams, nil, &udata) + params := url.Values{} + params.Add("unionid", unionid) + err := c.httpRPC("user/getUseridByUnionid", params, nil, &data) if err != nil { return nil, err } - var userdata SnsUserInfoResponse - params := url.Values{} - params.Add("userid", udata.UserID) - err = c.httpRPC("user/get", params, nil, &userdata) - return &userdata, err + return &data.UserID, nil } diff --git a/api_sns_test.go b/api_sns_test.go index 0f18b00..89b4c14 100644 --- a/api_sns_test.go +++ b/api_sns_test.go @@ -6,7 +6,7 @@ import ( ) func TestSnsUserInfo(t *testing.T) { - userinfo, err := c.SnsUserInfo("rCn0WRcRdrnWRBsDyWEQKwiEiE") + userinfo, err := c.SnsUserInfo("351313653629177902") if err != nil { t.Fatal(err.Error()) } @@ -20,3 +20,11 @@ func TestSnsUser(t *testing.T) { } fmt.Println(user) } + +func TestSnsUserID(t *testing.T) { + userid, err := c.SnsUserID("rCn0WRcRdrnWRBsDyWEQKwiEiE") + if err != nil { + t.Fatal(err.Error()) + } + fmt.Println(userid) +}