# 获取授权用户信息

[调试诊断](https://developers.weixin.qq.com/console/devtools/debug?utm_source=api_tools)

> 接口应在服务器端调用，不可在前端（小程序、网页、APP等）直接调用，具体可参考[接口调用指南](/doc/oplatform/developers/dev/guide.md)。

接口英文名：snsUserInfo

如果网页授权作用域为snsapi_userinfo，则此时开发者可以通过access_token和openid拉取用户信息。

注意：此接口频率限制为 5 万/分钟

## 1. 调用方式

### HTTPS 调用

```bash
GET https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
```

### 云调用

- 本接口不支持云调用。

### 第三方调用

- 本接口不支持第三方平台调用。

## 2. 请求参数

### 查询参数 `Query String Parameters`

```json
[
  {
    "参数名": "access_token",
    "类型": "string",
    "必填": "是",
    "示例": "-",
    "说明": "接口调用凭证，可使用 [access_token](/doc/service/api/base/api_getaccesstoken)"
  },
  {
    "参数名": "openid",
    "类型": "string",
    "必填": "是",
    "示例": "-",
    "说明": "用户的唯一标识"
  },
  {
    "参数名": "lang",
    "类型": "string",
    "必填": "否",
    "示例": "zh_CN",
    "说明": "返回国家地区语言版本，zh_CN 简体，zh_TW 繁体，en 英语"
  }
]
```

### 请求体 `Request Payload`

无

## 3. 返回参数

### 返回体 `Response Payload`

```json
[
  {
    "参数名": "openid",
    "类型": "string",
    "说明": "用户的唯一标识"
  },
  {
    "参数名": "nickname",
    "类型": "string",
    "说明": "用户昵称"
  },
  {
    "参数名": "sex",
    "类型": "number",
    "说明": "用户的性别，值为1时是男性，值为2时是女性，值为0时是未知"
  },
  {
    "参数名": "headimgurl",
    "类型": "string",
    "说明": "用户头像，最后一个数值代表正方形头像大小（有0、46、64、96、132数值可选，0代表640*640正方形头像），用户没有头像时该项为空。若用户更换头像，原有头像URL将失效。"
  },
  {
    "参数名": "unionid",
    "类型": "string",
    "说明": "只有在管理员将公众号绑定到微信开放平台账号后，才会出现该字段。"
  },
  {
    "参数名": "province",
    "类型": "string",
    "说明": "用户个人资料填写的省份"
  },
  {
    "参数名": "city",
    "类型": "string",
    "说明": "普通用户个人资料填写的城市"
  },
  {
    "参数名": "country",
    "类型": "string",
    "说明": "国家，如中国为CN"
  },
  {
    "参数名": "privilege",
    "类型": "array",
    "说明": "用户特权信息，json 数组，如微信沃卡用户为（chinaunicom）"
  }
]
```

## 4. 注意事项

目前网页授权有两个 scope，分别是：snsapi_base 和 snsapi_userinfo，解释如下：

- snsapi_base：用来获取进入页面的用户的openid的，并且是静默授权并自动跳转到回调页的。（不会弹出信息确认框,仅能获取用户 openid 等信息，无法获取昵称头像）
- snsapi_userinfo：用来获取用户的基本信息的。但这种授权需要用户手动同意。（由于用户同意过，所以无须依赖用户关注服务号，就可在授权后获取该用户的基本信息）

即，调用本接口必须是使用“snsapi_userinfo”构建的授权链接，并且获得用户授权同意，否则会返回 48001 的报错

## 5. 代码示例

请求示例

``` bash
https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
```

返回示例

``` json
{   
  "openid": "OPENID",
  "nickname": NICKNAME,
  "sex": 1,
  "province":"PROVINCE",
  "city":"CITY",
  "country":"COUNTRY",
  "headimgurl":"https://thirdwx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/46",
  "privilege":[ "PRIVILEGE1" "PRIVILEGE2"     ],
  "unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL"
}
```

## 6. 错误码

以下是本接口的错误码列表，其他错误码可参考 [通用错误码](/doc/oplatform/developers/errCode/README.md)；调用接口遇到报错，可使用官方提供的 [API 诊断工具](https://developers.weixin.qq.com/console/devtools/debug?utm_source=api_errcode) 辅助定位和分析问题。

```json
[
  {
    "错误码": "40003",
    "错误描述": "invalid openid",
    "解决方案": "不合法的 OpenID ，请开发者确认 OpenID （该用户）是否已关注公众号，或是否是其他公众号的 OpenID"
  }
]
```

## 7. 适用范围

本接口在不同账号类型下的可调用情况：

```json
[
  {
    "服务号": "仅认证",
    "移动应用": "✔",
    "网站应用": "✔"
  }
]
```

- 仅认证：表示仅允许企业主体已认证账号调用，未认证或不支持认证的账号无法调用。
- ✔：该账号可调用此接口。
- 其他未明确声明的账号类型，如无特殊说明，均不可调用此接口。

![](https://res8.wxqcloud.qq.com.cn/wxdoc/56617deb-b17d-4cf1-bccd-71d2c41ccc76.svg)接口变更日志（2条）
2025 年 12 月 18 日优化  `unionid`  字段描述，避免歧义
2025 年 12 月 11 日文档描述优化
