Documentation ¶
Overview ¶
用户管理接口.
Index ¶
- Constants
- Variables
- type Client
- func (clt *Client) BatchMoveUserToGroup(openIdList []string, toGroupId int64) (err error)
- func (clt *Client) GroupCreate(name string) (group *Group, err error)
- func (clt *Client) GroupDelete(groupId int64) (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) UserInWhichGroup(openId string) (groupId int64, err error)
- func (clt *Client) UserInfo(openId string, lang string) (userinfo *UserInfo, err error)
- func (clt *Client) UserInfoBatchGet(req []UserInfoBatchGetRequestItem) (UserInfoList []UserInfo, err error)
- func (clt *Client) UserIterator(NextOpenId string) (iter *UserIterator, err error)
- func (clt *Client) UserList(NextOpenId string) (rslt *UserListResult, err error)
- func (clt *Client) UserUpdateRemark(openId, remark string) (err error)
- type Group
- type UserInfo
- type UserInfoBatchGetRequestItem
- 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("没有头像")
Functions ¶
This section is empty.
Types ¶
type Client ¶
func (*Client) BatchMoveUserToGroup ¶
批量移动用户分组.
func (*Client) MoveUserToGroup ¶
移动用户分组.
func (*Client) UserInWhichGroup ¶
查询用户所在分组.
func (*Client) UserInfo ¶
获取用户基本信息.
注意: 1. 需要判断返回的 UserInfo.IsSubscriber 是否等于 1 还是 0 2. lang 可以是 zh_CN, zh_TW, en, 如果留空 "" 则默认为 zh_CN
func (*Client) UserInfoBatchGet ¶
func (clt *Client) UserInfoBatchGet(req []UserInfoBatchGetRequestItem) (UserInfoList []UserInfo, err error)
批量获取用户基本信息
注意: 需要对返回的 UserInfoList 的每个 UserInfo.IsSubscriber 做判断
func (*Client) UserIterator ¶
func (clt *Client) UserIterator(NextOpenId string) (iter *UserIterator, err error)
获取用户遍历器, 从 NextOpenId 开始遍历, 如果 NextOpenId == "" 则表示从头遍历.
NOTE: 目前微信是从 NextOpenId 下一个用户开始遍历的, 和微信文档描述不一样!!!
func (*Client) UserList ¶
func (clt *Client) UserList(NextOpenId string) (rslt *UserListResult, err error)
获取关注者列表.
NOTE: 1. 每次最多能获取 10000 个用户, 可以多次指定 NextOpenId 来获取以满足需求, 如果 NextOpenId == "" 则表示从头获取 2. 目前微信返回的数据并不包括 NextOpenId 本身, 是从 NextOpenId 下一个用户开始的, 和微信文档描述不一样!!!
func (*Client) UserUpdateRemark ¶
开发者可以通过该接口对指定用户设置备注名.
type UserInfo ¶
type UserInfo struct { IsSubscriber int `json:"subscribe"` // 用户是否订阅该公众号标识, 值为0时, 代表此用户没有关注该公众号, 拉取不到其余信息 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"` // 用户关注时间, 为时间戳. 如果用户曾多次关注, 则取最后关注时间 SubscribeTime int64 `json:"subscribe_time"` // 只有在用户将公众号绑定到微信开放平台帐号后, 才会出现该字段. UnionId string `json:"unionid"` Remark string `json:"remark"` // 公众号运营者对粉丝的备注, 公众号运营者可在微信公众平台用户管理界面对粉丝添加备注 GroupId int64 `json:"groupid"` // 用户所在的分组ID }
func (*UserInfo) HeadImageSize ¶
获取用户图像的大小, 如果用户没有图像则返回 ErrNoHeadImage 错误.
type UserInfoBatchGetRequestItem ¶
type UserInfoBatchGetRequestItem struct { OpenId string `json:"openid"` Language string `json:"lang,omitempty"` }
func NewUserInfoBatchGetRequest ¶
func NewUserInfoBatchGetRequest(openIdList []string, lang string) (ret []UserInfoBatchGetRequestItem)
创建 []UserInfoBatchGetRequestItem
lang 的取值可以为 "", Language_zh_CN, Language_zh_TW, Language_en
type UserIterator ¶
type UserIterator struct {
// contains filtered or unexported fields
}
UserIterator
iter, err := Client.UserIterator("NextOpenId") 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() (OpenIdList []string, err error)
func (*UserIterator) TotalCount ¶
func (iter *UserIterator) TotalCount() int
type UserListResult ¶
type UserListResult struct { TotalCount int `json:"total"` // 关注该公众账号的总用户数 GotCount int `json:"count"` // 拉取的 OPENID 个数, 最大值为10000 Data struct { OpenIdList []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.