跳到主要内容

GAS 好友管理接口

基本信息

接口描述: 提供应用好友管理功能,包括获取好友列表、好友申请列表、添加好友、删除好友的操作,可在 开发者运营管理平台-应用管理-接口设置-好友 中查看和管理好友相关配置。

接口地址: https://api.chinadlrs.com/developer/friends.php

请求方式: POST

响应格式: JSON

需要开放授权登录

此接口功能基于开放授权登录,所有操作都需要先获取有效的 access_token
具体的获取流程请参考《GAS 开放授权登录接口说明文档》

公共参数

查询参数 (Query Parameters)

参数名类型必填描述默认值
typenumber操作类型(1-5)
pagenumber页码(仅 type=1 时有效)1
page_sizenumber每页数量(仅 type=1 时有效,最大 100)20
查询参数

查询参数通过在接口地址后直接拼接的方式传递,地址和参数之间用 ? 分隔,多个参数之间用 & 连接。

例如获取第 2 页好友列表的接口地址为:
https://api.chinadlrs.com/developer/friends.php?type=1&page=2&page_size=20

请求头 (Headers)

参数名类型必填描述
Content-Typestring必须设置为 application/json

操作类型说明

1. 获取好友列表 (type=1)

功能描述: 分页查询当前用户的好友列表,最多返回 100 个好友。

请求体 (Body)

参数名类型必填描述示例
appidint应用唯一标识符1
emailstring用户邮箱地址"user@example.com"
apptokenstring加密后的应用秘钥"ABCDE..."
access_tokenstring访问令牌"P5h7hs9+TzQXdkMFbcOLMUD87vzz..."
数据加密

apptokenaccess_token 参数是经过加密的字符串,用于验证应用权限和保护数据安全
具体的加密算法请参考《数据加密说明文档》

请求示例

{
"appid": 1,
"email": "user@example.com",
"apptoken": "ABCDE...",
"access_token": "P5h7hs9+TzQXdkMFbcOLMUD87vzz..."
}

响应参数

参数名类型描述示例
codenumber状态码200
dataarray好友列表数组
data[].uidnumber好友UID12345
data[].namestring好友名称"张三"
data[].avatarstring好友头像"https://cn-nb1.rains3.com/chinadlrs/null-avatar.webp"
msgstring响应消息"操作成功"

2. 获取好友申请列表 (type=2)

功能描述: 查询当前用户的好友申请,包含当前用户发起和收到的好友申请。

请求体 (Body)

参数名类型必填描述示例
appidint应用唯一标识符1
emailstring用户邮箱地址"user@example.com"
apptokenstring加密后的应用秘钥"ABCDE..."
access_tokenstring访问令牌"P5h7hs9+TzQXdkMFbcOLMUD87vzz..."
数据加密

apptokenaccess_token 参数是经过加密的字符串,用于验证应用权限和保护数据安全
具体的加密算法请参考《数据加密说明文档》

请求示例

{
"appid": 1,
"email": "user@example.com",
"apptoken": "ABCDE...",
"access_token": "P5h7hs9+TzQXdkMFbcOLMUD87vzz..."
}

响应参数

参数名类型描述示例
codenumber状态码200
dataobject申请列表对象
data.inReqsarray当前用户收到的好友申请
data.inReqs[].request_idnumber好友申请 ID1
data.inReqs[].uidnumber好友申请发起方的UID12345
data.inReqs[].namestring好友申请发起方的名称"张三"
data.inReqs[].avatarstring好友申请发起方的头像"https://cn-nb1.rains3.com/chinadlrs/null-avatar.webp"
data.outReqsarray当前用户发起的好友申请
data.outReqs[].request_idnumber好友申请 ID1
data.outReqs[].uidnumber好友申请接收方的UID12345
data.outReqs[].namestring好友申请接收方的名称"张三"
data.outReqs[].avatarstring好友申请接收方的头像"https://cn-nb1.rains3.com/chinadlrs/null-avatar.webp"
msgstring响应消息"操作成功"

3. 添加好友 (type=3)

功能描述: 向目标用户发送好友申请。若对方已向自己发起了好友申请,则自动通过并直接建立好友关系,无需等待对方确认。

自动通过

当对方已向您发起好友申请时,调用此接口会自动通过申请并直接建立好友关系,不会再产生待处理的申请记录。

请求体 (Body)

参数名类型必填描述示例
appidint应用唯一标识符1
emailstring用户邮箱地址"user@example.com"
apptokenstring加密后的应用秘钥"ABCDE..."
access_tokenstring访问令牌"P5h7hs9+TzQXdkMFbcOLMUD87vzz..."
target_uidint目标用户 UID12345
数据加密

apptokenaccess_token 参数是经过加密的字符串,用于验证应用权限和保护数据安全
具体的加密算法请参考《数据加密说明文档》

请求示例

{
"appid": 1,
"email": "user@example.com",
"apptoken": "ABCDE...",
"access_token": "P5h7hs9+TzQXdkMFbcOLMUD87vzz...",
"target_uid": 12345
}

响应参数

参数名类型描述示例
codenumber状态码200
datanull无数据返回null
msgstring响应消息"操作成功"

4. 删除好友 (type=4)

功能描述: 删除与目标用户的好友关系。

请求体 (Body)

参数名类型必填描述示例
appidint应用唯一标识符1
emailstring用户邮箱地址"user@example.com"
apptokenstring加密后的应用秘钥"ABCDE..."
access_tokenstring访问令牌"P5h7hs9+TzQXdkMFbcOLMUD87vzz..."
target_uidint目标用户 UID12345
数据加密

apptokenaccess_token 参数是经过加密的字符串,用于验证应用权限和保护数据安全
具体的加密算法请参考《数据加密说明文档》

请求示例

{
"appid": 1,
"email": "user@example.com",
"apptoken": "ABCDE...",
"access_token": "P5h7hs9+TzQXdkMFbcOLMUD87vzz...",
"target_uid": 12345
}

响应参数

参数名类型描述示例
codenumber状态码200
datanull无数据返回null
msgstring响应消息"操作成功"

5. 拒绝好友申请 (type=5)

功能描述: 拒绝他人向自己发起的待处理好友申请。

请求体 (Body)

参数名类型必填描述示例
appidint应用唯一标识符1
emailstring用户邮箱地址"user@example.com"
apptokenstring加密后的应用秘钥"ABCDE..."
access_tokenstring访问令牌"P5h7hs9+TzQXdkMFbcOLMUD87vzz..."
request_idint待拒绝的好友申请 ID1
数据加密

apptokenaccess_token 参数是经过加密的字符串,用于验证应用权限和保护数据安全
具体的加密算法请参考《数据加密说明文档》

请求示例

{
"appid": 1,
"email": "user@example.com",
"apptoken": "ABCDE...",
"access_token": "P5h7hs9+TzQXdkMFbcOLMUD87vzz...",
"request_id": 1
}

响应参数

参数名类型描述示例
codenumber状态码200
datanull无数据返回null
msgstring响应消息"操作成功"

成功响应示例

{
"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 是否提供且格式正确
400type参数无效检查 type 参数是否为 1-5
401AppToken验证失败检查 apptoken 是否正确
404用户不存在验证 email 是否正确
100参数格式错误检查 target_uid 或 request_id 是否提供且格式正确
100好友数量已达上限删除部分好友后再尝试添加
100已向对方发送过申请,请等待回复请勿重复发送好友申请
100删除失败,好友关系不存在检查 target_uid 是否正确
100拒绝失败,申请记录不存在检查 request_id 是否正确