Documentation
¶
Overview ¶
用户管理接口.
Index ¶
- Constants
- Variables
- type Client
- func (clt *Client) GroupCreate(name string) (group *Group, err error)
- func (clt *Client) GroupList() (groups []Group, err error)
- func (clt *Client) GroupUpdate(groupId int64, newName string) (err error)
- func (clt *Client) MoveUserToGroup(openId string, toGroupId int64) (err error)
- func (clt *Client) MoveUsersToGroup(openIdList []string, toGroupId int64) (err error)
- func (clt *Client) UserInWhichGroup(openId string) (groupId int64, err error)
- func (clt *Client) UserInfo(openId string, lang string) (userinfo *UserInfo, err error)
- func (clt *Client) UserIterator(beginOpenId string) (iter *UserIterator, err error)
- func (clt *Client) UserList(beginOpenId string) (data *UserListResult, err error)
- func (clt *Client) UserUpdateRemark(openId, remark string) (err error)
- type Group
- type UserInfo
- type UserIterator
- type UserListResult
Constants ¶
View Source
const ( Language_zh_CN = "zh_CN" // 简体中文 Language_zh_TW = "zh_TW" // 繁体中文 Language_en = "en" // 英文 )
View Source
const ( SexUnknown = 0 // 未知 SexMale = 1 // 男性 SexFemale = 2 // 女性 )
View Source
const GroupCountLimit = 100 // 一个公众账号,最多支持创建100个分组。
View Source
const (
UserPageSizeLimit = 10000 // 每次拉取的 OPENID 个数最大值为 10000
)
Variables ¶
View Source
var ErrNoHeadImage = errors.New("没有头像")
View Source
var ErrUserNotSubscriber = errors.New("用户没有订阅公众号")
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
mp.WechatClient
}
func NewClient ¶
func NewClient(TokenServer mp.TokenServer, HttpClient *http.Client) *Client
创建一个新的 Client.
如果 HttpClient == nil 则默认用 http.DefaultClient
func (*Client) MoveUserToGroup ¶
移动用户分组.
func (*Client) MoveUsersToGroup ¶
批量移动用户分组.
func (*Client) UserInWhichGroup ¶
查询用户所在分组.
func (*Client) UserInfo ¶
获取用户基本信息, 如果用户没有订阅公众号, 返回 ErrUserNotSubscriber 错误.
lang 可以是 zh_CN, zh_TW, en, 如果留空 "" 则默认为 zh_CN.
func (*Client) UserIterator ¶
func (clt *Client) UserIterator(beginOpenId string) (iter *UserIterator, err error)
获取用户遍历器, beginOpenId 表示开始遍历用户, 如果 beginOpenId == "" 则表示从头遍历.
func (*Client) UserList ¶
func (clt *Client) UserList(beginOpenId string) (data *UserListResult, err error)
获取关注者列表, 每次最多能获取 10000 个用户, 如果 beginOpenId == "" 则表示从头获取
type Group ¶
type Group struct { Id int64 `json:"id"` // 分组id, 由微信分配 Name string `json:"name"` // 分组名字, UTF8编码 UserCount int `json:"count"` // 分组内用户数量 }
用户分组
type UserInfo ¶
type UserInfo struct { OpenId string `json:"openid"` // 用户的标识,对当前公众号唯一 Nickname string `json:"nickname"` // 用户的昵称 Sex int `json:"sex"` // 用户的性别,值为1时是男性,值为2时是女性,值为0时是未知 Language string `json:"language"` // 用户的语言,zh_CN,zh_TW,en City string `json:"city"` // 用户所在城市 Province string `json:"province"` // 用户所在省份 Country string `json:"country"` // 用户所在国家 // 用户头像,最后一个数值代表正方形头像大小(有0、46、64、96、132数值可选,0代表640*640正方形头像), // 用户没有头像时该项为空 HeadImageURL string `json:"headimgurl,omitempty"` // 用户关注时间,为时间戳。如果用户曾多次关注,则取最后关注时间 SubscribeTime int64 `json:"subscribe_time"` // 只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段。 UnionId string `json:"unionid,omitempty"` // 备注名 Remark string `json:"remark,omitempty"` }
func (*UserInfo) HeadImageSize ¶
获取用户图像的大小, 如果用户没有图像则返回 ErrNoHeadImage 错误.
type UserIterator ¶
type UserIterator struct {
// contains filtered or unexported fields
}
用户遍历器
iter, err := Client.UserIterator("beginOpenId") if err != nil { // TODO: 增加你的代码 } for iter.HasNext() { openids, err := iter.NextPage() if err != nil { // TODO: 增加你的代码 } // TODO: 增加你的代码 }
func (*UserIterator) HasNext ¶
func (iter *UserIterator) HasNext() bool
func (*UserIterator) NextPage ¶
func (iter *UserIterator) NextPage() (openids []string, err error)
func (*UserIterator) Total ¶
func (iter *UserIterator) Total() int
type UserListResult ¶
type UserListResult struct { TotalCount int `json:"total"` // 关注该公众账号的总用户数 GotCount int `json:"count"` // 拉取的OPENID个数,最大值为10000 Data struct { OpenId []string `json:"openid,omitempty"` } `json:"data"` // 列表数据,OPENID的列表 // 拉取列表的后一个用户的OPENID, 如果 next_openid == "" 则表示没有了用户数据 NextOpenId string `json:"next_openid"` }
获取关注者列表返回的数据结构
Click to show internal directories.
Click to hide internal directories.