QQ 网页扫码登录,返回二维码链接与 qrsig,用于获取 Cookie。
| 参数名 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|
| key | string | 否 | 接口调用密钥 | |
| type | string | 否 | 登陆平台 | tenpay |
| qsign | string | 否 | 二维码验证串 |
[
{
"name": "key",
"type": "string",
"required": false,
"description": "接口调用密钥",
"example": ""
},
{
"name": "type",
"type": "string",
"required": false,
"description": "登陆平台",
"example": "tenpay"
},
{
"name": "qsign",
"type": "string",
"required": false,
"description": "二维码验证串",
"example": ""
}
]
{
"openapi": "3.1.1",
"info": {
"title": "QQ网页扫码登陆",
"description": "QQ 网页扫码登录,返回二维码链接与 qrsig,用于获取 Cookie。",
"version": "1.0.0"
},
"paths": {
"\/api\/qq\/login.web\/": {
"get": {
"summary": "QQ网页扫码登陆",
"description": "QQ 网页扫码登录,返回二维码链接与 qrsig,用于获取 Cookie。",
"parameters": [
{
"name": "key",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "接口调用密钥"
},
{
"name": "type",
"in": "query",
"required": false,
"schema": {
"type": "string",
"example": "tenpay"
},
"description": "登陆平台"
},
{
"name": "qsign",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "二维码验证串"
}
],
"responses": {
"200": {
"description": "成功",
"content": {
"application\/json": {
"schema": {
"type": "object"
}
}
}
}
}
},
"post": {
"summary": "QQ网页扫码登陆",
"description": "QQ 网页扫码登录,返回二维码链接与 qrsig,用于获取 Cookie。",
"parameters": [
{
"name": "key",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "接口调用密钥"
},
{
"name": "type",
"in": "query",
"required": false,
"schema": {
"type": "string",
"example": "tenpay"
},
"description": "登陆平台"
},
{
"name": "qsign",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "二维码验证串"
}
],
"responses": {
"200": {
"description": "成功",
"content": {
"application\/json": {
"schema": {
"type": "object"
}
}
}
}
}
}
}
},
"servers": [
{
"url": "https:\/\/api.vsaa.cn",
"description": "当前访问入口(https)"
}
]
}
{
"code": 200,
"msg": "success",
"type": "财付通",
"data": {
"time": 1791271645,
"qrsig": "2e5ea05f1476c119bfd5eba59e5e5bd5164c52872cd19fe83a5d8a918dbffda258061e818531362117acd3c50d0e325d56f02786df455049",
"qrcode": "http://txz.qq.com/p?k=TPbUfZQ86Prel8fEpaCVdZqDxWXsi64T&f=546000248"
}
}
该接口用于生成QQ网页登录二维码并获取初始会话信息,供客户端或自动化脚本实现扫码登录场景。主要服务于需要集成QQ账号体系的应用开发者。通过调用此接口可获取qrsig验证串和二维码URL,用户扫码后即可完成身份认证流程。
https://api.vsaa.cn/api/qq/login.web/
支持 HTTP GET 和 POST 方法。
该接口采用 Query 参数方式进行可选鉴权。在调用时,可将接口调用密钥附加在 URL 查询字符串中,参数名为 key。若未提供密钥,接口仍可正常访问,但建议配置密钥以获得更稳定的服务体验。密钥无需通过 Header 或其他复杂机制传递,直接以 ?key=YOUR_API_KEY 形式追加在调用地址后即可生效。此方式适用于所有标准 HTTP 客户端,无需额外封装或特殊处理,简化了集成流程。鉴权机制仅针对当前接口生效,不影响其他无鉴权要求的公开接口行为。
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| key | string | 否 | 接口调用密钥 |
| type | string | 否 | 登录平台标识,示例值:tenpay |
| qsign | string | 否 | 二维码验证串 |
{
"code": 200,
"msg": "success",
"type": "财付通",
"data": {
"time": 1791271645,
"qrsig": "2e5ea05f1476c119bfd5eba59e5e5bd5164c52872cd19fe83a5d8a918dbffda258061e818531362117acd3c50d0e325d56f02786df455049",
"qrcode": "http://txz.qq.com/p?k=TPbUfZQ86Prel8fEpaCVdZqDxWXsi64T&f=546000248"
}
}
| 字段名 | 类型 | 描述 |
|---|---|---|
code |
integer | 状态码。200 表示请求成功。 |
msg |
string | 状态消息。成功时通常返回 success。 |
type |
string | 登录平台类型。对应请求参数 type 的中文名称,例如 财付通。 |
data |
object | 业务数据对象。包含二维码相关信息,用于后续登录流程。 |
data.time |
integer | 时间戳。表示该二维码信息生成或更新的时间(Unix 时间戳)。 |
data.qrsig |
string | 二维码验证签名。用于后续确认登录状态时校验数据完整性。 |
data.qrcode |
string | 二维码图片 URL。返回二维码的图片链接,前端可据此展示二维码供用户扫描。 |
当请求因鉴权失败、状态异常或资源限制等原因未能正常执行时,接口将返回统一的错误结构。以下是一个典型的错误响应 JSON 示例:
{
"code": 0,
"msg": "未提供调用密钥",
"errcode": 11001
}
在上述示例中,code 固定为 0 表示请求被拒绝或非成功状态,msg 字段提供人类可读的错误描述,errcode 字段返回具体的业务错误码,用于程序化处理。
调用接口时可能遇到的所有业务错误码及其含义如下表所示:
| errcode | 含义说明 |
|---|---|
| 11001 | 未提供调用密钥 |
| 11002 | 密钥错误 |
| 11003 | 密钥已禁用 |
| 11004 | 积分余额不足 |
| 11005 | 请求过于频繁(QPM 限制) |
| 11006 | 接口维护中 |
| 11007 | 接口已禁用 |
| 11008 | 接口不可用 |
| 11009 | 密钥校验暂不可用 |
| 11010 | 积分系统暂不可用 |
| 11011 | 收费接口须提供有效密钥 |
| 11012 | 鉴权方式错误 |
| 11013 | 接口不存在 |
| 11014 | ***地址无效 |
| 11015 | ***地址不允许 |
| 11016 | ***请求失败 |
| 11017 | 服务暂不可用 |
| 11018 | 请求方式不允许 |
| 11019 | 当前IP不在白名单内 |
| 11020 | 启用出口代理须提供有效密钥 |
| 11021 | 未配置可用出口代理 |
| 11022 | 出口代理不可用 |
| 11023 | 密钥已过期 |
| 11024 | 令牌分配积分不足 |
curl -X GET "https://api.vsaa.cn/api/qq/login.web/?key=your_api_key&type=tenpay&qsign=your_qsign_value" \
-H "Accept: application/json"
// PHP
$ch = curl_init();
$url = "https://api.vsaa.cn/api/qq/login.web/";
$params = array(
"key" => "your_api_key",
"type" => "tenpay",
"qsign" => "your_qsign_value"
);
$query = http_build_query($params);
$fullUrl = $url . "?" . $query;
curl_setopt($ch, CURLOPT_URL, $fullUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Accept: application/json"));
$response = curl_exec($ch);
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($status_code == 200) {
$result = json_decode($response, true);
echo json_encode($result, JSON_PRETTY_PRINT);
} else {
echo "Request failed with status code: " . $status_code;
}
key,严禁将其硬编码在前端 JavaScript、移动端 App 或公开的 GitHub 仓库中,防止泄露导致密钥被盗用。qrcode 链接具有短暂有效期,前端需在获取后立即展示并启动轮询机制。若二维码过期,需重新请求以获取新的 qrsig 和链接,禁止复用旧数据。type 参数校验:请求头平台类型参数需指定合法值(如 tenpay)。传入非法平台类型可能导致返回异常,建议根据业务需求严格匹配预设枚举值。暂无代码示例。管理员可在后台用 AI 生成或手动编写。
欢迎使用 万象数据API(以下简称“本平台”,域名为 api.vsaa.cn)。在使用本平台提供的任何接口、数据及相关服务之前,请您务必仔细阅读并充分理解本免责声明的全部内容。您对本平台任何服务的使用,均视为您已阅读、理解并同意本声明的全部条款。
最后更新日期:2026年10月6日