follow_user.go 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. package externalcontact
  2. import (
  3. "fmt"
  4. "github.com/silenceper/wechat/v2/util"
  5. )
  6. const (
  7. // fetchFollowUserListURL 获取配置了客户联系功能的成员列表
  8. fetchFollowUserListURL = "https://qyapi.weixin.qq.com/cgi-bin/externalcontact/get_follow_user_list"
  9. )
  10. // followerUserResponse 客户联系功能的成员列表响应
  11. type followerUserResponse struct {
  12. util.CommonError
  13. FollowUser []string `json:"follow_user"`
  14. }
  15. // GetFollowUserList 获取配置了客户联系功能的成员列表
  16. // @see https://developer.work.weixin.qq.com/document/path/92571
  17. func (r *Client) GetFollowUserList() ([]string, error) {
  18. accessToken, err := r.GetAccessToken()
  19. if err != nil {
  20. return nil, err
  21. }
  22. var response []byte
  23. response, err = util.HTTPGet(fmt.Sprintf("%s?access_token=%s", fetchFollowUserListURL, accessToken))
  24. if err != nil {
  25. return nil, err
  26. }
  27. var result followerUserResponse
  28. err = util.DecodeWithError(response, &result, "GetFollowUserList")
  29. if err != nil {
  30. return nil, err
  31. }
  32. return result.FollowUser, nil
  33. }