profile_operation
读取在线设备与状态,或修改个人资料、个性签名和机型显示。
适用协议
Android(手机 / 平板)支持全部已列出的操作;Linux QQ 支持 clients.get、status.get,不支持资料写入操作。
调用方式
json
{
"type": "action",
"id": "profile_operation-1",
"action": "profile_operation",
"params": {
"self_id": 123456789,
"protocol_id": 0,
"operation": "clients.get",
"request": {}
}
}参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
self_id | number | 是 | 当前框架内的 QQ 号,5–10 位整数。 |
protocol_id | number | 是 | 账号实例的协议 ID;必须显式提供,0 是有效 ID。用 get_protocol_list 查询,不使用 client_type 替代。 |
operation | string | 是 | 下表中的操作名。 |
request | object | 否 | 操作参数,默认 {};拒绝未知字段,整个请求上限 16 KiB。 |
返回值
返回结构由 operation 决定:
| operation | data |
|---|---|
clients.get | { clients: OnlineClient[], known: boolean, updated_at?: string } |
status.get | { status: number, ext_status: number } |
update、signature.set、model.set | { success: true } |
status.set、status.custom | { success: boolean, error_code: number, error_message?: string } |
model.get | { variants: { model_show: string, need_pay: boolean }[] } |
OnlineClient 字段为 app_id、device_name、device_kind、client_type、state、platform_id、new_client_type。clients.get 读取本次登录收到的设备推送快照;known: false 表示尚无快照,不能解释成没有其他设备。
注意事项
写入超时或错误后应先查询实际资料状态,再决定是否重试。update 中昵称/性别先保存,随后保存 personal_note;签名阶段失败时此前资料可能已经生效。
操作参数
下列字段放在 request 内,不能放到 params 顶层。
| operation | request 字段 | 规则 |
|---|---|---|
clients.get | 无 | 传 {} 或省略 request |
status.get | user_id?: number | 省略或 0 时查询自身 |
update | nickname: string、personal_note?: string、sex?: number | nickname 为 1–256 字节;personal_note 最多 2048 字节;sex 只能为 0、1、2 |
signature.set | long_nick: string | 必须显式提供;最多 2048 字节,空字符串用于清空 |
status.set | status: number、ext_status: number、battery_status: number | 三项均须显式提供,0 不能用省略代替 |
status.custom | face_id: number、face_type?: number、wording?: string | face_id 大于 0;face_type 默认 1;wording 默认单个空格,显式值 1–256 字节 |
model.get | model?: string | 最多 256 字节 |
model.set | model?: string、model_show: string | model_show 必填,两字段均最多 256 字节 |
例如修改签名:
json
{"self_id":123456789,"protocol_id":0,"operation":"signature.set","request":{"long_nick":"今天也要开心"}}