GAS 好友管理接口
基本信息
接口描述: 提供应用好友管理功能,包括获取好友列表、好友申请列表、添加好友、删除好友的操作,可在 开发者运营管理平台-应用管理-接口设置-好友 中查看和管理好友相关配置。
接口地址: https://api.chinadlrs.com/developer/friends.php
请求方式: POST
响应格式: JSON
此接口功能基于开放授权登录,所有操作都需要先获取有效的 access_token
具体的获取流程请参考《GAS 开放授权登录接口说明文档》
公共参数
查询参数 (Query Parameters)
| 参数名 | 类型 | 必填 | 描述 | 默认值 |
|---|---|---|---|---|
| type | number | 是 | 操作类型(1-5) | 无 |
| page | number | 否 | 页码(仅 type=1 时有效) | 1 |
| page_size | number | 否 | 每页数量(仅 type=1 时有效,最大 100) | 20 |
查询参数通过在接口地址后直接拼接的方式传递,地址和参数之间用 ? 分隔,多个参数之间用 & 连接。
例如获取第 2 页好友列表的接口地址为:
https://api.chinadlrs.com/developer/friends.php?type=1&page=2&page_size=20
请求头 (Headers)
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| Content-Type | string | 是 | 必须设置为 application/json |
操作类型说明
1. 获取好友列表 (type=1)
功能描述: 分页查询当前用户的好友列表,最多返回 100 个好友。
请求体 (Body)
| 参数名 | 类型 | 必填 | 描述 | 示例 |
|---|---|---|---|---|
| appid | int | 是 | 应用唯一标识符 | 1 |
| string | 是 | 用户邮箱地址 | "user@example.com" | |
| apptoken | string | 是 | 加密后的应用秘钥 | "ABCDE..." |
| access_token | string | 是 | 访问令牌 | "P5h7hs9+TzQXdkMFbcOLMUD87vzz..." |
apptoken 和 access_token 参数是经过加密的字符串,用于验证应用权限和保护数据安全
具体的加密算法请参考《数据加密说明文档》
请求示例
{
"appid": 1,
"email": "user@example.com",
"apptoken": "ABCDE...",
"access_token": "P5h7hs9+TzQXdkMFbcOLMUD87vzz..."
}
响应参数
| 参数名 | 类型 | 描述 | 示例 |
|---|---|---|---|
| code | number | 状态码 | 200 |
| data | array | 好友列表数组 | |
| data[].uid | number | 好友UID | 12345 |
| data[].name | string | 好友名称 | "张三" |
| data[].avatar | string | 好友头像 | "https://cn-nb1.rains3.com/chinadlrs/null-avatar.webp" |
| msg | string | 响应消息 | "操作成功" |
2. 获取好友申请列表 (type=2)
功能描述: 查询当前用户的好友申请,包含当前用户发起和收到的好友申请。
请求体 (Body)
| 参数名 | 类型 | 必填 | 描述 | 示例 |
|---|---|---|---|---|
| appid | int | 是 | 应用唯一标识符 | 1 |
| string | 是 | 用户邮箱地址 | "user@example.com" | |
| apptoken | string | 是 | 加密后的应用秘钥 | "ABCDE..." |
| access_token | string | 是 | 访问令牌 | "P5h7hs9+TzQXdkMFbcOLMUD87vzz..." |
apptoken 和 access_token 参数是经过加密的字符串,用于验证应用权限和保护数据安全
具体的加密算法请参考《数据加密说明文档》
请求示例
{
"appid": 1,
"email": "user@example.com",
"apptoken": "ABCDE...",
"access_token": "P5h7hs9+TzQXdkMFbcOLMUD87vzz..."
}
响应参数
| 参数名 | 类型 | 描述 | 示例 |
|---|---|---|---|
| code | number | 状态码 | 200 |
| data | object | 申请列表对象 | |
| data.inReqs | array | 当前用户收到的好友申请 | |
| data.inReqs[].request_id | number | 好友申请 ID | 1 |
| data.inReqs[].uid | number | 好友申请发起方的UID | 12345 |
| data.inReqs[].name | string | 好友申请发起方的名称 | "张三" |
| data.inReqs[].avatar | string | 好友申请发起方的头像 | "https://cn-nb1.rains3.com/chinadlrs/null-avatar.webp" |
| data.outReqs | array | 当前用户发起的好友申请 | |
| data.outReqs[].request_id | number | 好友申请 ID | 1 |
| data.outReqs[].uid | number | 好友申请接收方的UID | 12345 |
| data.outReqs[].name | string | 好友申请接收方的名称 | "张三" |
| data.outReqs[].avatar | string | 好友申请接收方的头像 | "https://cn-nb1.rains3.com/chinadlrs/null-avatar.webp" |
| msg | string | 响应消息 | "操作成功" |
3. 添加好友 (type=3)
功能描述: 向目标用户发送好友申请。若对方已向自己发起了好友申请,则自动通过并直接建立好友关系,无需等待对方确认。
当对方已向您发起好友申请时,调用此接口会自动通过申请并直接建立好友关系,不会再产生待处理的申请记录。
请求体 (Body)
| 参数名 | 类型 | 必填 | 描述 | 示例 |
|---|---|---|---|---|
| appid | int | 是 | 应用唯一标识符 | 1 |
| string | 是 | 用户邮箱地址 | "user@example.com" | |
| apptoken | string | 是 | 加密后的应用秘钥 | "ABCDE..." |
| access_token | string | 是 | 访问令牌 | "P5h7hs9+TzQXdkMFbcOLMUD87vzz..." |
| target_uid | int | 是 | 目标用户 UID | 12345 |
apptoken 和 access_token 参数是经过加密的字符串,用于验证应用权限和保护数据安全
具体的加密算法请参考《数据加密说明文档》
请求示例
{
"appid": 1,
"email": "user@example.com",
"apptoken": "ABCDE...",
"access_token": "P5h7hs9+TzQXdkMFbcOLMUD87vzz...",
"target_uid": 12345
}
响应参数
| 参数名 | 类型 | 描述 | 示例 |
|---|---|---|---|
| code | number | 状态码 | 200 |
| data | null | 无数据返回 | null |
| msg | string | 响应消息 | "操作成功" |
4. 删除好友 (type=4)
功能描述: 删除与目标用户的好友关系。
请求体 (Body)
| 参数名 | 类型 | 必填 | 描述 | 示例 |
|---|---|---|---|---|
| appid | int | 是 | 应用唯一标识符 | 1 |
| string | 是 | 用户邮箱地址 | "user@example.com" | |
| apptoken | string | 是 | 加密后的应用秘钥 | "ABCDE..." |
| access_token | string | 是 | 访问令牌 | "P5h7hs9+TzQXdkMFbcOLMUD87vzz..." |
| target_uid | int | 是 | 目标用户 UID | 12345 |
apptoken 和 access_token 参数是经过加密的字符串,用于验证应用权限和保护数据安全
具体的加密算法请参考《数据加密说明文档》
请求示例
{
"appid": 1,
"email": "user@example.com",
"apptoken": "ABCDE...",
"access_token": "P5h7hs9+TzQXdkMFbcOLMUD87vzz...",
"target_uid": 12345
}
响应参数
| 参数名 | 类型 | 描述 | 示例 |
|---|---|---|---|
| code | number | 状态码 | 200 |
| data | null | 无数据返回 | null |
| msg | string | 响应消息 | "操作成功" |
5. 拒绝好友申请 (type=5)
功能描述: 拒绝他人向自己发起的待处理好友申请。
请求体 (Body)
| 参数名 | 类型 | 必填 | 描述 | 示例 |
|---|---|---|---|---|
| appid | int | 是 | 应用唯一标识符 | 1 |
| string | 是 | 用户邮箱地址 | "user@example.com" | |
| apptoken | string | 是 | 加密后的应用秘钥 | "ABCDE..." |
| access_token | string | 是 | 访问令牌 | "P5h7hs9+TzQXdkMFbcOLMUD87vzz..." |
| request_id | int | 是 | 待拒绝的好友申请 ID | 1 |
apptoken 和 access_token 参数是经过加密的字符串,用于验证应用权限和保护数据安全
具体的加密算法请参考《数据加密说明文档》
请求示例
{
"appid": 1,
"email": "user@example.com",
"apptoken": "ABCDE...",
"access_token": "P5h7hs9+TzQXdkMFbcOLMUD87vzz...",
"request_id": 1
}
响应参数
| 参数名 | 类型 | 描述 | 示例 |
|---|---|---|---|
| code | number | 状态码 | 200 |
| data | null | 无数据返回 | null |
| msg | string | 响应消息 | "操作成功" |
成功响应示例
{
"code": 200,
"data": [
{
"uid": 12345,
"name": "张三",
"avatar": "https://cn-nb1.rains3.com/chinadlrs/null-avatar.webp"
}
],
"msg": "操作成功"
}
{
"code": 200,
"data": {
"inReqs": [
{
"uid": 67890,
"name": "李四",
"avatar": "https://cn-nb1.rains3.com/chinadlrs/null-avatar.webp",
"request_id": 1
}
],
"outReqs": [
{
"uid": 54321,
"name": "王五",
"avatar": "https://cn-nb1.rains3.com/chinadlrs/null-avatar.webp",
"request_id": 2
}
]
},
"msg": "操作成功"
}
{
"code": 200,
"data": null,
"msg": "操作成功"
}
{
"code": 200,
"data": null,
"msg": "拒绝成功"
}
错误响应示例
{
"code": 400,
"data": null,
"msg": "参数缺失或无效"
}
{
"code": 401,
"data": null,
"msg": "AppToken验证失败"
}
{
"code": 404,
"data": null,
"msg": "用户不存在"
}
{
"code": 100,
"data": null,
"msg": "参数格式错误"
}
状态码说明
| 状态码 | 描述 | 解决方案 |
|---|---|---|
| 200 | 操作成功 | |
| 200 | 添加成功 | |
| 200 | 申请已发送 | |
| 200 | 删除成功 | |
| 200 | 拒绝成功 | |
| 400 | 参数缺失或无效 | 检查 appid、email、apptoken、access_token 参数是否完整 |
| 400 | 参数格式错误 | 检查 target_uid 或 request_id 是否提供且格式正确 |
| 400 | type参数无效 | 检查 type 参数是否为 1-5 |
| 401 | AppToken验证失败 | 检查 apptoken 是否正确 |
| 404 | 用户不存在 | 验证 email 是否正确 |
| 100 | 参数格式错误 | 检查 target_uid 或 request_id 是否提供且格式正确 |
| 100 | 好友数量已达上限 | 删除部分好友后再尝试添加 |
| 100 | 已向对方发送过申请,请等待回复 | 请勿重复发送好友申请 |
| 100 | 删除失败,好友关系不存在 | 检查 target_uid 是否正确 |
| 100 | 拒绝失败,申请记录不存在 | 检查 request_id 是否正确 |