# 获取用户基本信息

调试工具

接口应在服务器端调用,不可在前端(小程序、网页、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_tokenstringACCESS_TOKEN接口调用凭证,可使用 access_tokenauthorizer_access_token
openidstringo6_bmjrPTlm6_2sgVt7hMZOPfL2M普通用户的标识,对当前公众号唯一
langstringzh_CN返回国家地区语言版本

# 请求体 Request Payload

# 3. 返回参数

# 返回体 Response Payload

参数名类型说明
subscribenumber用户是否订阅该公众号标识,值为0时,代表此用户没有关注该公众号,拉取不到其余信息。
openidstring用户的标识,对当前公众号唯一
languagestring用户的语言,简体中文为zh_CN
subscribe_timetimestamp用户关注时间,为时间戳。如果用户曾多次关注,则取最后关注时间
unionidstring只有在用户将公众号绑定到微信开放平台账号后,才会出现该字段。
remarkstring公众号运营者对粉丝的备注,公众号运营者可在微信公众平台用户管理界面对粉丝添加备注
groupidnumber用户所在的分组ID(兼容旧的用户分组接口)
tagid_listarray用户被打上的标签ID列表
subscribe_scenestring返回用户关注的渠道来源,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_scenenumber二维码扫码场景(开发者自定义)
qr_scene_strstring二维码扫码场景描述(开发者自定义)

# 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. 错误码

以下是本接口的错误码列表,其他错误码可参考 通用错误码

错误码错误描述解决方案
-1system error系统繁忙,此时请开发者稍候再试
40001invalid credential  access_token isinvalid or not latest获取 access_token 时 AppSecret 错误,或者 access_token 无效。请开发者认真比对 AppSecret 的正确性,或查看是否正在为恰当的公众号调用接口
40003invalid openid用户未关注或openid错误
40013invalid appidAppID无效错误

# 7. 适用范围

本接口在不同账号类型下的可调用情况:
公众号服务号
仅认证 仅认证
  • 仅认证:表示仅允许企业主体已认证账号调用,未认证或不支持认证的账号无法调用
  • 其他未明确声明的账号类型,如无特殊说明,均不可调用此接口;