user

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 19, 2015 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

用户管理接口.

Index

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(AccessTokenServer mp.AccessTokenServer, httpClient *http.Client) Client

兼容保留, 建議實際項目全局維護一個 *mp.WechatClient

func (Client) GroupCreate

func (clt Client) GroupCreate(name string) (group *Group, err error)

创建分组.

name: 分组名字(30个字符以内)

func (Client) GroupList

func (clt Client) GroupList() (groups []Group, err error)

查询所有分组.

func (Client) GroupUpdate

func (clt Client) GroupUpdate(groupId int64, newName string) (err error)

修改分组名.

name: 分组名字(30个字符以内).

func (Client) MoveUserToGroup

func (clt Client) MoveUserToGroup(openId string, toGroupId int64) (err error)

移动用户分组.

func (Client) MoveUsersToGroup

func (clt Client) MoveUsersToGroup(openIdList []string, toGroupId int64) (err error)

批量移动用户分组.

func (Client) UserInWhichGroup

func (clt Client) UserInWhichGroup(openId string) (groupId int64, err error)

查询用户所在分组.

func (Client) UserInfo

func (clt Client) UserInfo(openId string, lang string) (userinfo *UserInfo, err error)

获取用户基本信息, 如果用户没有订阅公众号, 返回 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 == "" 则表示从头获取

func (Client) UserUpdateRemark

func (clt Client) UserUpdateRemark(openId, remark string) (err error)

开发者可以通过该接口对指定用户设置备注名.

NOTE: 该接口暂时开放给微信认证的服务号.

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

func (info *UserInfo) HeadImageSize() (size int, err error)

获取用户图像的大小, 如果用户没有图像则返回 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"`
}

获取关注者列表返回的数据结构

Directories

Path Synopsis
网页授权获取用户基本信息.
网页授权获取用户基本信息.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL