WebQQ2.0协议
(重定向自WebQQ协议)
WebQQ 2.0 使用 json 通讯。
poll
GET http://web2-b.qq.com/channel/poll?clientid=1252733&t=1285235813119
等待时长为一分钟
可能的返回值
{"retcode":102,"errmsg":"timeout"}
{ "retcode": 0, "result": [{ "poll_type": "buddies_status_change", "value": { "uin": 475477556, "status": "online", "client_type": 41 } }] }
{"retcode":0,"result":[{"poll_type":"buddies_status_change","value":{"uin":910169499,"status":"offline","client_type":1}}]}
收到消息
注: raw_content
部分的编码是GB18030。
{ "retcode": 0, "result": [{ "poll_type": "message", "value": { "msg_id": 7, "from_uin": 475477556, "to_uin": 583567462, "msg_id2": 177551, "msg_type": 9, "reply_ip": 2886742351, "time": 1285236170, "content": [["font", { "size": 10, "color": "000000", "style": [0, 0, 0], "name": "\u5B8B\u4F53" }], "test\n\u3010\u63D0\u793A\uFF1A\u6B64\u7528\u6237\u6B63\u5728\u4F7F\u7528WebQQ\uFF1Ahttp://web.qq.com/\u3011"], "raw_content": "test\n\u00A1\u00BE\u00CC\u00E1\u02BE\u00A3\u00BA\u00B4\u00CB\u00D3\u00FB\u00A7\u00D5\u00FD\u00D4\u00DA\u02B9\u00D3\u00C3WebQQ\u00A3\u00BAhttp://web.qq.com/\u00A1\u00BF" } }] }
含有表情的消息
{ "retcode": 0, "result": [{ "poll_type": "message", "value": { "msg_id": 44, "from_uin": 475477556, "to_uin": 583567462, "msg_id2": 84972, "msg_type": 9, "reply_ip": 2886742351, "time": 1285238006, "content": [["font", { "size": 10, "color": "000000", "style": [0, 0, 0], "name": "\u5B8B\u4F53" }], ["face", 14]], "raw_content": "\u0014O" } }] }
有些表情对应关系不同,如(表情: face值):
- 0: 14
- 14: 0
- 15: 50
- 50: 107
好友相关
GET http://web2-b.qq.com/api/get_single_long_nick?tuin=475477556&t=1285236350116
返回消息
{"retcode":0,"result":[{"uin":475477556,"lnick":" "}]}
{"retcode":0,"result":[{"uin":381916729,"lnick":"\u8349\uFF0C\u6881\u7FE9\uFF0C\u8001\u5B50\u8981\u8DDF\u4F60\u8FC7\u4E00\u8F88\u5B50\uFF0C\u5C31\u8FD9\u4E2A\uFF0C\u89C9\u5F97\u4E0D\u503C\u5F97\u5C31\u7B97\u4E86\uFF0C\u8001\u5B50\u8FD8\u8981\u53BB\u5E72\u5927\u4E8B\uFF0C\u6CA1\u65F6\u95F4\u5F77\u5FA8\uFF01"}]}
lnick
是QQ签名。
发送消息
POST http://web2-b.qq.com/channel/send_msg
发送消息参数名为 r
{ "to":475477556,
"face":132,
"content": "[\"send\",\"\\n【提示:此用户正在使用WebQQ:http://web.qq.com/】\",[\"font\",{\"name\":\"宋体\",\"size\":\"10\",\"style\":[0,0,0],\"color\":\"3366ff\"}]]",
"msg_id":82520010,
"clientid":"1252733"
}
content
部分反转义结果为
[ "send", "\n【提示:此用户正在使用WebQQ:http://web.qq.com/】", ["font", {
"name": "宋体",
"size": "10",
"style": [0, 0, 0],
"color": "3366ff"
}]]
响应为
{"retcode":0,"result":"ok"}
关于自己
更改状态
GET http://web2-b.qq.com/channel/change_status?newstatus=away&clientid=1252733&t=1285238894629
响应
{"retcode":0,"result":"ok"}
参见#状态名。
更改签名
POST http://web2-b.qq.com/api/set_long_nick
参数为 r
{"nlk":"Life was sweet before MS and QQ make it tough!","vfwebqq":"b6a8f5aaf7b9db8efdc65163157ec8dd77216a052e3c4a8f199e70c8e922000db1ba617938017697"}
群相关
获取群成员列表
GET http://web2-b.qq.com/api/get_group_info_ext?gcode=70899695&t=1285237473544
返回消息,其中信息有省略
{ "retcode": 0, "result": { "ginfo": { "gid": 2013899695, "code": 70899695, "flag": 16777217, "owner": 179635162, "name": "\u8BA1\u79D1\u4E94\u73ED", "level": 0, "face": 1, "memo": "\u4ECA\u4E16\u4E0E\u541B\u4E3A\u5144\u5F1F\uFF0C\u66F4\u7ED3\u4ED6\u751F\u672A\u4E86\u56E0\uFF01\r\n\r\n\u53C8\u8981\u89C1\u5230\u5927\u5BB6\u4E86\u3002\u3002\u3002", "fingermemo": "\u8BA1\u79D15", "members": [{ "muin": 34686837, "mflag": 0 }, { "muin": 1098890278, "mflag": 0 }] }, "minfo": [{ "uin": 34686837, "nick": "\u8C46\u8C46\u5988" }, { "uin": 1098890278, "nick": "\u96E8\u5929" }], "stats": [{ "uin": 34686837, "stat": 20 }, { "uin": 1098890278, "stat": 20 }], "cards": [{ "muin": 171370123, "card": "\u90E6\u8D77\u626C" }, { "muin": 34686837, "card": "\u5510\u660E\u8001\u5E08" }] } }
对 mflag
的解释
接收群消息
{ "retcode": 0, "result": [{ "poll_type": "group_message", "value": { "msg_id": 11272, "from_uin": 2107512540, "to_uin": 583567462, "msg_id2": 888062, "msg_type": 43, "reply_ip": 176177198, "group_code": 27512540, "send_uin": 929233025, "seq": 10638, "time": 1285237072, "info_seq": 27512540, "content": [["font", { "size": 13, "color": "008000", "style": [0, 0, 0], "name": "\u5FAE\u8F6F\u96C5\u9ED1" }], ["cface", { "name": "{F0A27B77-8DF5-09C8-9BA8-FE9DF91584F8}.jpg", "file_id": 645802200, "key": "wetiMFEZdsGJX93x", "server": "124.115.5.218:8000" }], "\u6562\u95EE\u8FD9\u662F\u4F55\u5904\uFF1F"] } }] }
此消息包含一个图片,其地址为
http://web2.qq.com/cgi-bin/get_group_pic?gid=27512540&uin=929233025&rip=124.115.5.218&rport=8000&fid=645802200&pic={F0A27B77-8DF5-09C8-9BA8-FE9DF91584F8}.jpg
{ "retcode": 0, "result": [{ "poll_type": "group_message", "value": { "msg_id": 11273, "from_uin": 2107512540, "to_uin": 583567462, "msg_id2": 925194, "msg_type": 43, "reply_ip": 176177198, "group_code": 27512540, "send_uin": 929233025, "seq": 10639, "time": 1285237083, "info_seq": 27512540, "content": [["font", { "size": 13, "color": "008000", "style": [0, 0, 0], "name": "\u5FAE\u8F6F\u96C5\u9ED1" }], "\u6709\u771F\u76F8\u5E1D\u4E48\uFF1F"] } }] }
图片与表情
标准表情
文件名是表情的编号
http://web2.qq.com/style/face/0.gif
好友头像
http://face1.qun.qq.com/cgi/svr/face/getface?cache=0&type=1&fid=0&uin=157220920
代码解释
状态名
online away hidden offline