# 获取用户基本信息
接口应在服务器端调用,不可在前端(小程序、网页、APP等)直接调用,具体可参考接口调用指南
接口英文名:userInfo
在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的。对于不同公众号,同一用户的openid不同)。
可通过本接口来根据OpenID获取用户基本信息,包括语言和关注时间。
# 1. 调用方式
# HTTPS 调用
GET https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=LANG
# 云调用
调用方法:officialAccount.user.getInfo
出入参和 HTTPS 调用相同,调用方式可查看 云调用 说明文档
# 第三方调用
本接口支持第三方平台代商家调用。
该接口所属的权限集 id 为:2、100
服务商获得其中之一权限集授权后,可通过使用 authorizer_access_token 代商家进行调用,具体可查看 第三方调用 说明文档。
# 2. 请求参数
# 查询参数 Query String parameters
参数名 | 类型 | 必填 | 示例 | 说明 |
---|---|---|---|---|
access_token | string | 是 | ACCESS_TOKEN | 接口调用凭证,可使用 access_token、authorizer_access_token |
openid | string | 是 | o6_bmjrPTlm6_2sgVt7hMZOPfL2M | 普通用户的标识,对当前公众号唯一 |
lang | string | 否 | zh_CN | 返回国家地区语言版本 |
# 请求体 Request Payload
无
# 3. 返回参数
# 返回体 Response Payload
参数名 | 类型 | 说明 |
---|---|---|
subscribe | number | 用户是否订阅该公众号标识,值为0时,代表此用户没有关注该公众号,拉取不到其余信息。 |
openid | string | 用户的标识,对当前公众号唯一 |
language | string | 用户的语言,简体中文为zh_CN |
subscribe_time | timestamp | 用户关注时间,为时间戳。如果用户曾多次关注,则取最后关注时间 |
unionid | string | 只有在用户将公众号绑定到微信开放平台账号后,才会出现该字段。 |
remark | string | 公众号运营者对粉丝的备注,公众号运营者可在微信公众平台用户管理界面对粉丝添加备注 |
groupid | number | 用户所在的分组ID(兼容旧的用户分组接口) |
tagid_list | array | 用户被打上的标签ID列表 |
subscribe_scene | string | 返回用户关注的渠道来源,ADD_SCENE_SEARCH 公众号搜索,ADD_SCENE_ACCOUNT_MIGRATION 公众号迁移,ADD_SCENE_PROFILE_CARD 名片分享,ADD_SCENE_QR_CODE 扫描二维码,ADD_SCENE_PROFILE_LINK 图文页内名称点击,ADD_SCENE_PROFILE_ITEM 图文页右上角菜单,ADD_SCENE_PAID 支付后关注,ADD_SCENE_WECHAT_ADVERTISEMENT 微信广告,ADD_SCENE_REPRINT 他人转载,ADD_SCENE_LIVESTREAM 视频号直播,ADD_SCENE_CHANNELS 视频号,ADD_SCENE_WXA 小程序关注,ADD_SCENE_OTHERS 其他 |
qr_scene | number | 二维码扫码场景(开发者自定义) |
qr_scene_str | string | 二维码扫码场景描述(开发者自定义) |
# 4. 注意事项
如果开发者有在多个公众号,或在公众号、移动应用之间统一用户账号的需求,需要前往微信开放平台(open.weixin.qq.com)绑定公众号后,才可利用UnionID机制来满足上述需求。
开发者可通过OpenID来获取用户基本信息。特别需要注意的是,如果开发者拥有多个移动应用、网站应用和公众账号,可通过获取用户基本信息中的unionid来区分用户的唯一性,因为只要是同一个微信开放平台账号下的移动应用、网站应用和公众账号,用户的unionid是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,unionid是相同的。
20年6月8日起,用户关注来源“微信广告(ADD_SCENE_WECHAT_ADVERTISEMENT)”从“其他(ADD_SCENE_OTHERS)”中拆分给出,2021年12月27日之后,不再输出头像、昵称信息。
# 5. 代码示例
# 5.1 正常请求
请求示例
{
"access_token": "ACCESS_TOKEN",
"openid": "o6_bmjrPTlm6_2sgVt7hMZOPfL2M"
}
返回示例
{
"subscribe": 1,
"openid": "o6_bmjrPTlm6_2sgVt7hMZOPfL2M",
"language": "zh_CN",
"subscribe_time": 1382694957,
"unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL",
"remark": "",
"groupid": 0,
"tagid_list": [
128,
2
],
"subscribe_scene": "ADD_SCENE_QR_CODE",
"qr_scene": 98765,
"qr_scene_str": ""
}
# 5.2 错误请求
请求示例
{
"access_token": "ACCESS_TOKEN",
"openid": "o6_bmjrPTlm6_2sgVt7hMZOPfL2M"
}
返回示例
{
"errcode":40013,
"errmsg":"invalid appid"
}
# 6. 错误码
以下是本接口的错误码列表,其他错误码可参考 通用错误码
错误码 | 错误描述 | 解决方案 |
---|---|---|
-1 | system error | 系统繁忙,此时请开发者稍候再试 |
40001 | invalid credential access_token isinvalid or not latest | 获取 access_token 时 AppSecret 错误,或者 access_token 无效。请开发者认真比对 AppSecret 的正确性,或查看是否正在为恰当的公众号调用接口 |
40003 | invalid openid | 用户未关注或openid错误 |
40013 | invalid appid | AppID无效错误 |
# 7. 适用范围
公众号 | 服务号 |
---|---|
仅认证 | 仅认证 |
- 仅认证:表示仅允许企业主体已认证账号调用,未认证或不支持认证的账号无法调用
- 其他未明确声明的账号类型,如无特殊说明,均不可调用此接口;