WebQQ2.0协议

来自百合仙子's Wiki
(重定向自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

参见