深入解析oicq项目中的QQ Web API使用指南

深入解析oicq项目中的QQ Web API使用指南

oicq Tencent QQ Bot Library for Node.js oicq 项目地址: https://gitcode.com/gh_mirrors/oi/oicq

前言

在开发QQ机器人或相关应用时,我们经常需要获取QQ用户信息、群组资料等数据。oicq项目提供了一套完整的Web API接口,可以帮助开发者实现这些功能。本文将详细介绍如何利用oicq项目中的Web API来获取各类QQ相关信息。

Web API基础概念

Web API是指基于HTTP协议的网络应用程序接口,通过发送HTTP请求与服务器交互获取数据。在oicq项目中,这些API主要用于获取QQ平台的各种信息,如用户资料、群组信息等。

使用这些API需要两个关键要素:

  1. Cookie - 用于身份验证
  2. CSRF-Token(BKN) - 防止跨站请求伪造的安全令牌

获取认证信息

在使用Web API前,首先需要获取必要的认证信息:

let domain = ""; // 支持多个域名,如qun.qq.com
const cookie = client.cookies[domain];
const bkn = client.bkn;

获取到这些信息后,需要将它们设置在HTTP请求头部中。

常用Web API详解

1. 用户信息相关API

获取QQ等级信息
GET https://club.vip.qq.com/api/vip/getQQLevelInfo?requestBody={"iUin":QQ号}

需要设置Cookie,域名为vip.qq.com

获取QQ资料
GET https://cgi.find.qq.com/qqfind/buddy/search_v3?keyword=QQ号

需要设置Cookie

获取QQ头像
GET https://q1.qlogo.cn/g?b=qq&s=尺寸&nk=QQ号

无需认证,可直接获取

2. 群组信息相关API

获取群资料
GET https://qinfo.clt.qq.com/cgi-bin/qun_info/get_group_info_all?gc=群号&bkn=BKN值

特点:即使是陌生群也可以获取信息

获取群设置
GET https://qinfo.clt.qq.com/cgi-bin/qun_info/get_group_setting_v2?gc=群号&bkn=BKN值

注意:必须是群成员才能使用

获取群成员列表
GET https://qinfo.clt.qq.com/cgi-bin/qun_info/get_group_members_new?gc=群号&bkn=BKN值

必须是群成员才能使用

获取群头像
GET https://p.qlogo.cn/gh/群号/群号/尺寸

无需认证,可直接获取

获取群历史头像
GET https://p.qlogo.cn/gh/群号/群号_序号/尺寸

无需认证,可直接获取

3. 群管理相关API

获取群操作记录
GET https://qinfo.clt.qq.com/cgi-bin/qun_info/get_sys_msg?gc=群号&bkn=BKN值

注意:必须是管理员才能使用

开关匿名功能
GET https://qqweb.qq.com/c/anonymoustalk/set_anony_switch?bkn=BKN值&value=1或0&group_code=群号

需要设置Cookie,域名为qqweb.qq.com

获取群荣誉信息
GET https://qun.qq.com/interactive/qunhonor?gc=群号

需要设置Cookie,域名为qun.qq.com

获取精华消息
GET https://qun.qq.com/cgi-bin/group_digest/digest_list?bkn=BKN值&group_code=群号&page_start=页数&page_limit=每页数量

注意:必须是群成员,每页数量不能超过50

获取群公告
GET https://web.qun.qq.com/cgi-bin/announce/get_t_list?bkn=BKN值&qid=群号&ft=23&s=-1&n=20

需要设置Cookie,域名为qun.qq.com

发布群公告
POST https://web.qun.qq.com/cgi-bin/announce/add_qun_notice?bkn=BKN值

POST数据格式:

qid=群号&bkn=BKN值&text=内容&pinned=0&type=1&settings={"is_show_edit_card":1,"tip_window_type":1,"confirm_required":1}
更换群头像
POST http://htdata3.qq.com/cgi-bin/httpconn?htcmd=0x6ff0072&ver=5520&ukey=SKY值&range=0&uin=用户QQ号&seq=1&groupuin=群号&filetype=3&imagetype=5&userdata=0&subcmd=1&subver=101&clip=0_0_0_0&filesize=字节数

POST数据为图片字节集

4. 综合搜索API

POST https://find.qq.com/proxy/domain/cgi.find.qq.com/qqfind/find_v11?backver=2

POST数据格式:

bnum=15&pagesize=15&id=0&sid=0&page=0&pageindex=0&ext=&guagua=1&gnum=12&guaguan=2&type=2&ver=4903&longitude=116.405285&latitude=39.904989&lbs_addr_country=中国&lbs_addr_province=北京&lbs_addr_city=北京市&keyword=QQ号&nf=0&of=0&ldw=BKN值

特点:可以同时搜索QQ号和群号,且包含个性签名等更多信息

使用注意事项

  1. 认证信息安全性:Cookie和BKN是敏感信息,不应泄露
  2. 请求频率限制:避免高频请求,可能触发风控
  3. 权限限制:部分API需要特定身份(如群管理员)才能使用
  4. 数据格式:注意参数格式和编码,特别是POST请求
  5. 错误处理:合理处理API返回的错误信息

结语

oicq项目提供的Web API接口功能丰富,覆盖了QQ平台的大部分信息获取需求。通过合理使用这些API,开发者可以构建功能强大的QQ相关应用。在实际开发中,建议先测试各个API的响应和限制,再根据业务需求进行整合。

希望本文能帮助你更好地理解和使用oicq项目中的Web API功能。如有任何疑问或发现新的有用API,欢迎交流分享。

oicq Tencent QQ Bot Library for Node.js oicq 项目地址: https://gitcode.com/gh_mirrors/oi/oicq

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

田桥桑Industrious

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值