2/messages/receive
第1行: | 第1行: | ||
− | = | + | =消息推送接口= |
功能: | 功能: | ||
− | + | 消息推送接口,长连接微博推送服务,接收推送给指定蓝V用户的新消息。当有微博用户给蓝V发送新消息时,推送服务将此新消息格式化后由此长连接推送给该应用。 | |
− | 接口调用地址:https://m.api.weibo.com/2/messages/ | + | 接口调用地址:https://m.api.weibo.com/2/messages/receive.json |
− | + | HTTP请求方式:GET | |
第29行: | 第29行: | ||
|申请应用时分配的AppKey,调用接口时候代表应用的唯一身份。 | |申请应用时分配的AppKey,调用接口时候代表应用的唯一身份。 | ||
|- | |- | ||
− | | | + | |uid |
− | | | + | |int64 |
|true | |true | ||
− | | | + | |需要接收的蓝V用户ID。 |
|- | |- | ||
− | | | + | |since_id |
− | | | + | |int64 |
− | | | + | |false |
− | | | + | |上次连接断开时的消息ID。保存断开后5分钟内的新消息,可以通过since_id获取断开五分钟内的新消息。 |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|} | |} | ||
注意事项 | 注意事项 | ||
*1、为确保应用及V用户信息安全,此接口必须在服务器端调用; | *1、为确保应用及V用户信息安全,此接口必须在服务器端调用; | ||
− | * | + | *2、调用接口的登录帐号为该appkey的所有者,需要使用所有者帐号通过Base Auth的方式; |
*3、如appkey已绑定IP地址,调用接口的请求IP须为绑定的IP; | *3、如appkey已绑定IP地址,调用接口的请求IP须为绑定的IP; | ||
− | * | + | *4、指定的uid用户为蓝V; |
− | * | + | *5、指定的uid用户已设置成将自己的微博私信、留言等消息箱服务交给当前应用托管; |
− | * | + | *6、指定的uid用户已开启推送服务(当前托管即自动开启); |
− | * | + | *6、每条完整的新消息数据以json形式返回,默认采用UTF-8编码,且以\r\n分隔; |
− | * | + | *7、新消息来源用户为蓝V且已开启消息服务时,新消息不推送; |
− | * | + | *8、为缓解服务压力,请求建立后约每5分钟自动断开,应用需兼容根据最后一次获取的新消息ID重新调此接口连接; |
− | + | ||
− | + | 调用举例: | |
− | * | + | <pre> |
+ | curl -u "USERNAME:PASSWORD" "https://m.api.weibo.com/2/messages/receive.json?source=YOUR_APPKEY&uid=***" | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | 连接建立后,当蓝V有新消息时,微博消息服务通过此连接向应用推送新消息,当前支持的消息类型: | ||
+ | |||
+ | |||
+ | *1、事件消息:event | ||
<pre> | <pre> | ||
{ | { | ||
− | "text": " | + | "id": 1211260020031346, |
+ | "type": "event", | ||
+ | "recipient_id": 1902538057, | ||
+ | "sender_id": 2489518277, | ||
+ | "created_at": "Mon Jul 16 18:09:20 +0800 2012", | ||
+ | "text": "事件消息", | ||
+ | "data": { | ||
+ | "subtype": "EVENT", | ||
+ | "key": "EVENT_KEY" | ||
+ | } | ||
} | } | ||
</pre> | </pre> | ||
<div class="wiki_kit"> | <div class="wiki_kit"> | ||
+ | |||
{|width="100%" border="0" cellspacing="0" cellpadding="0" class="wiki_table" | {|width="100%" border="0" cellspacing="0" cellpadding="0" class="wiki_table" | ||
<html><colgroup><col class="tbF1"/><col class="tbF2" /><col /></colgroup></html> | <html><colgroup><col class="tbF1"/><col class="tbF2" /><col /></colgroup></html> | ||
− | !colspan=" | + | !colspan="3" scope="col" |<span id="返回值说明">返回值说明</span> |
|- | |- | ||
− | |style="text-align:center; width: 12%"| | + | |style="text-align:center; width: 12%"|属性 |
|style="text-align:center;width: 12%"|值的类型 | |style="text-align:center;width: 12%"|值的类型 | ||
− | |||
|style="text-align:center;"|说明描述 | |style="text-align:center;"|说明描述 | ||
+ | |- | ||
+ | |id | ||
+ | |string | ||
+ | |消息ID | ||
+ | |- | ||
+ | |type | ||
+ | |string | ||
+ | |event | ||
+ | |- | ||
+ | |recipient_id | ||
+ | |int64 | ||
+ | |消息的接收者 | ||
+ | |- | ||
+ | |sender_id | ||
+ | |int64 | ||
+ | |消息的发送者 | ||
+ | |- | ||
+ | |created_at | ||
+ | |string | ||
+ | |消息创建时间 | ||
|- | |- | ||
|text | |text | ||
|string | |string | ||
− | | | + | |默认文案。subtype为follow时为“关注事件消息”,为unfollow时为“取消关注事件消息”。 |
− | | | + | |- |
+ | |data | ||
+ | |string | ||
+ | |消息内容 | ||
+ | |- | ||
+ | |data:subtype | ||
+ | |string | ||
+ | |follow:关注事件,unfollow取消关注事件。 | ||
+ | |- | ||
+ | |data:key | ||
+ | |string | ||
+ | |subtype为follow或unfollow时不返回 | ||
|} | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | *2、纯文本类型私信和留言消息:text | |
− | + | ||
− | * | + | |
<pre> | <pre> | ||
{ | { | ||
− | " | + | "id": 1211260020031346, |
− | + | "type": "text", | |
− | + | "recipient_id": 1902538057, | |
− | + | "sender_id": 2489518277, | |
− | + | "created_at": "Mon Jul 16 18:09:20 +0800 2012", | |
− | + | "text": "私信或留言内容", | |
− | + | "data": {} | |
− | + | ||
} | } | ||
</pre> | </pre> | ||
第106行: | 第139行: | ||
{|width="100%" border="0" cellspacing="0" cellpadding="0" class="wiki_table" | {|width="100%" border="0" cellspacing="0" cellpadding="0" class="wiki_table" | ||
<html><colgroup><col class="tbF1"/><col class="tbF2" /><col /></colgroup></html> | <html><colgroup><col class="tbF1"/><col class="tbF2" /><col /></colgroup></html> | ||
− | !colspan=" | + | !colspan="3" scope="col" |<span id="返回值说明">返回值说明</span> |
|- | |- | ||
− | |style="text-align:center; width: 12%"| | + | |style="text-align:center; width: 12%"|属性 |
|style="text-align:center;width: 12%"|值的类型 | |style="text-align:center;width: 12%"|值的类型 | ||
− | |||
|style="text-align:center;"|说明描述 | |style="text-align:center;"|说明描述 | ||
|- | |- | ||
− | | | + | |id |
|string | |string | ||
− | | | + | |消息ID |
− | + | ||
|- | |- | ||
− | | | + | |type |
|string | |string | ||
− | | | + | |text |
− | + | ||
|- | |- | ||
− | | | + | |recipient_id |
+ | |int64 | ||
+ | |消息的接收者 | ||
+ | |- | ||
+ | |sender_id | ||
+ | |int64 | ||
+ | |消息的发送者 | ||
+ | |- | ||
+ | |created_at | ||
|string | |string | ||
− | | | + | |消息创建时间 |
− | + | ||
|- | |- | ||
− | | | + | |text |
|string | |string | ||
− | | | + | |私信内容 |
− | | | + | |- |
+ | |data | ||
+ | |string | ||
+ | |消息内容,纯文本私信或留言为空 | ||
|} | |} | ||
+ | |||
+ | 注意:需要对接收到的消息体type活subtype做兼容,当出现未知时可忽略此消息。 | ||
第138行: | 第180行: | ||
<pre> | <pre> | ||
{ | { | ||
− | "request": "/2/messages/ | + | "request": "/2/messages/receive.json", |
"error_code": "264XX", | "error_code": "264XX", | ||
"error": "error message." | "error": "error message." | ||
} | } | ||
</pre> | </pre> | ||
− | |||
− |
2013年8月30日 (五) 09:30的版本
消息推送接口
功能: 消息推送接口,长连接微博推送服务,接收推送给指定蓝V用户的新消息。当有微博用户给蓝V发送新消息时,推送服务将此新消息格式化后由此长连接推送给该应用。
接口调用地址:https://m.api.weibo.com/2/messages/receive.json
HTTP请求方式:GET
是否需要登陆:是
接口请求参数 | |||
---|---|---|---|
参数名称 | 值的类型 | 是否必填 | 说明描述 |
source | string | true | 申请应用时分配的AppKey,调用接口时候代表应用的唯一身份。 |
uid | int64 | true | 需要接收的蓝V用户ID。 |
since_id | int64 | false | 上次连接断开时的消息ID。保存断开后5分钟内的新消息,可以通过since_id获取断开五分钟内的新消息。 |
注意事项
- 1、为确保应用及V用户信息安全,此接口必须在服务器端调用;
- 2、调用接口的登录帐号为该appkey的所有者,需要使用所有者帐号通过Base Auth的方式;
- 3、如appkey已绑定IP地址,调用接口的请求IP须为绑定的IP;
- 4、指定的uid用户为蓝V;
- 5、指定的uid用户已设置成将自己的微博私信、留言等消息箱服务交给当前应用托管;
- 6、指定的uid用户已开启推送服务(当前托管即自动开启);
- 6、每条完整的新消息数据以json形式返回,默认采用UTF-8编码,且以\r\n分隔;
- 7、新消息来源用户为蓝V且已开启消息服务时,新消息不推送;
- 8、为缓解服务压力,请求建立后约每5分钟自动断开,应用需兼容根据最后一次获取的新消息ID重新调此接口连接;
调用举例:
curl -u "USERNAME:PASSWORD" "https://m.api.weibo.com/2/messages/receive.json?source=YOUR_APPKEY&uid=***"
连接建立后,当蓝V有新消息时,微博消息服务通过此连接向应用推送新消息,当前支持的消息类型:
- 1、事件消息:event
{ "id": 1211260020031346, "type": "event", "recipient_id": 1902538057, "sender_id": 2489518277, "created_at": "Mon Jul 16 18:09:20 +0800 2012", "text": "事件消息", "data": { "subtype": "EVENT", "key": "EVENT_KEY" } }
返回值说明 | ||
---|---|---|
属性 | 值的类型 | 说明描述 |
id | string | 消息ID |
type | string | event |
recipient_id | int64 | 消息的接收者 |
sender_id | int64 | 消息的发送者 |
created_at | string | 消息创建时间 |
text | string | 默认文案。subtype为follow时为“关注事件消息”,为unfollow时为“取消关注事件消息”。 |
data | string | 消息内容 |
data:subtype | string | follow:关注事件,unfollow取消关注事件。 |
data:key | string | subtype为follow或unfollow时不返回 |
- 2、纯文本类型私信和留言消息:text
{ "id": 1211260020031346, "type": "text", "recipient_id": 1902538057, "sender_id": 2489518277, "created_at": "Mon Jul 16 18:09:20 +0800 2012", "text": "私信或留言内容", "data": {} }
返回值说明 | ||
---|---|---|
属性 | 值的类型 | 说明描述 |
id | string | 消息ID |
type | string | text |
recipient_id | int64 | 消息的接收者 |
sender_id | int64 | 消息的发送者 |
created_at | string | 消息创建时间 |
text | string | 私信内容 |
data | string | 消息内容,纯文本私信或留言为空 |
注意:需要对接收到的消息体type活subtype做兼容,当出现未知时可忽略此消息。
接口调用失败返回:
{ "request": "/2/messages/receive.json", "error_code": "264XX", "error": "error message." }