2/messages/receive

跳转到: 导航, 搜索
第176行: 第176行:
  
  
<h3>3、被@消息:mention</h3>
+
<h3>3、图片类型私信和留言消息:image</h3>
说明:指定的蓝V需被授予接收“被@消息”权限,此接口才返回“被@消息”,申请求邮件[mailto:open_api@sina.com open_api@sina.com]
+
 
<pre>
 
<pre>
 
{
 
{
     "id": 1211260020031346,
+
     "id": 1211260020031347,
     "type": "mention",
+
     "type": "image",
 
     "recipient_id": 1902538057,
 
     "recipient_id": 1902538057,
 
     "sender_id": 2489518277,
 
     "sender_id": 2489518277,
 
     "created_at": "Mon Jul 16 18:09:20 +0800 2012",
 
     "created_at": "Mon Jul 16 18:09:20 +0800 2012",
     "text": "被@的微博或评论文本信息",
+
     "text": "发了一张图片",
 
     "data": {
 
     "data": {
         "subtype": "MENTION_TYPE,
+
         "vfid": 821804459,     // 发送者用此ID查看图片
         "key": "MENTION_KEY"
+
         "tovfid": 821804469    // 接收者用此ID查看图片
 
     }
 
     }
 
}
 
}
第207行: 第206行:
 
|type
 
|type
 
|string
 
|string
|mention
+
|image
 
|-
 
|-
 
|recipient_id
 
|recipient_id
第223行: 第222行:
 
|text
 
|text
 
|string
 
|string
|被@的微博或评论文本信息
+
|私信内容
 
|-
 
|-
 
|data
 
|data
 
|string
 
|string
|消息内容
+
|消息内容,纯文本私信或留言为空
 
|-
 
|-
|data:subtype
+
|data:vfid
 
|string
 
|string
|status:@的微博,comment:@的评论
+
|图片ID,发送者通过此ID读取图片
 
|-
 
|-
|data:key
+
|data:tovfid
 
|string
 
|string
|当subtype为status时为微博ID,为comment时为评论ID
+
|图片ID,接收者通过此ID读取图片
 
|}
 
|}
 +
<pre>
 +
查看(下载)图片
 +
curl "https://upload.api.weibo.com/2/mss/msget?access_token=RECIPIENT_ACCESS_TOKEN&fid=TOVFID"
 +
 +
1,"RECIPIENT_ACCESS_TOKEN":返回结果中接收者(recipient_id)通过OAuth2授权返回的access_token;
 +
2,"TOVFID":返回结果data字段中的tovfid。
 +
</pre>
  
  
<h3>4、图片类型私信和留言消息:image</h3>
+
<h3>4、位置类型私信消息:position</h3>
 
<pre>
 
<pre>
 
{
 
{
 
     "id": 1211260020031347,
 
     "id": 1211260020031347,
     "type": "image",
+
     "type": "position",
 
     "recipient_id": 1902538057,
 
     "recipient_id": 1902538057,
 
     "sender_id": 2489518277,
 
     "sender_id": 2489518277,
 
     "created_at": "Mon Jul 16 18:09:20 +0800 2012",
 
     "created_at": "Mon Jul 16 18:09:20 +0800 2012",
     "text": "发了一张图片",
+
     "text": "我在这里: http://t.cn/zQgLLYO",
 
     "data": {
 
     "data": {
         "vfid": 821804459,     // 发送者用此ID查看图片
+
         "longitude": "344.3344",
         "tovfid": 821804469    // 接收者用此ID查看图片
+
         "latitude": "232.343434"
    }
+
      }
 
}
 
}
 
</pre>
 
</pre>
第269行: 第275行:
 
|type
 
|type
 
|string
 
|string
|image
+
|mention
 
|-
 
|-
 
|recipient_id
 
|recipient_id
第285行: 第291行:
 
|text
 
|text
 
|string
 
|string
|私信内容
+
|原位置私信文本,没有时用默认文案“发送了一个位置”
 
|-
 
|-
 
|data
 
|data
 
|string
 
|string
|消息内容,纯文本私信或留言为空
+
|消息内容
 
|-
 
|-
|data:vfid
+
|data:longitude
 
|string
 
|string
|图片ID,发送者通过此ID读取图片
+
|经度
 
|-
 
|-
|data:tovfid
+
|data:latitude
 
|string
 
|string
|图片ID,接收者通过此ID读取图片
+
|纬度
 
|}
 
|}
<pre>
 
查看(下载)图片
 
curl "https://upload.api.weibo.com/2/mss/msget?access_token=RECIPIENT_ACCESS_TOKEN&fid=TOVFID"
 
  
1,"RECIPIENT_ACCESS_TOKEN":返回结果中接收者(recipient_id)通过OAuth2授权返回的access_token;
+
 
2,"TOVFID":返回结果data字段中的tovfid。
+
<h3>5、被@消息:mention</h3>
 +
说明:指定的蓝V需被授予接收“被@消息”权限,此接口才返回“被@消息”,申请求邮件[mailto:open_api@sina.com open_api@sina.com]
 +
<pre>
 +
{
 +
    "id": 1211260020031346,
 +
    "type": "mention",
 +
    "recipient_id": 1902538057,
 +
    "sender_id": 2489518277,
 +
    "created_at": "Mon Jul 16 18:09:20 +0800 2012",
 +
    "text": "被@的微博或评论文本信息",
 +
    "data": {
 +
        "subtype": "MENTION_TYPE,
 +
        "key": "MENTION_KEY"
 +
    }
 +
}
 
</pre>
 
</pre>
 +
<div class="wiki_kit">
 +
{|width="100%" border="0" cellspacing="0" cellpadding="0" class="wiki_table"
 +
<html><colgroup><col class="tbF1"/><col class="tbF2" /><col /></colgroup></html>
 +
!colspan="3" scope="col" |<span id="返回值说明">返回值说明</span>
 +
|-
 +
|style="text-align:center; width: 12%"|属性
 +
|style="text-align:center;width: 12%"|值的类型
 +
|style="text-align:center;"|说明描述
 +
|-
 +
|id
 +
|string
 +
|消息ID
 +
|-
 +
|type
 +
|string
 +
|mention
 +
|-
 +
|recipient_id
 +
|int64
 +
|消息的接收者
 +
|-
 +
|sender_id
 +
|int64
 +
|消息的发送者
 +
|-
 +
|created_at
 +
|string
 +
|消息创建时间
 +
|-
 +
|text
 +
|string
 +
|被@的微博或评论文本信息
 +
|-
 +
|data
 +
|string
 +
|消息内容
 +
|-
 +
|data:subtype
 +
|string
 +
|status:@的微博,comment:@的评论
 +
|-
 +
|data:key
 +
|string
 +
|当subtype为status时为微博ID,为comment时为评论ID
 +
|}
  
  

2013年9月24日 (二) 15:28的版本

消息推送接口

功能: 消息推送接口,长连接微博推送服务,接收推送给指定蓝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=***" // "USERNAME:PASSWORD"为应用所有者用户名和密码

蓝V可接收的用户行为消息类型

连接建立后,当蓝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 消息内容,纯文本私信或留言为空


3、图片类型私信和留言消息:image

{
    "id": 1211260020031347,
    "type": "image",
    "recipient_id": 1902538057,
    "sender_id": 2489518277,
    "created_at": "Mon Jul 16 18:09:20 +0800 2012",
    "text": "发了一张图片",
    "data": {
        "vfid": 821804459,     // 发送者用此ID查看图片
        "tovfid": 821804469    // 接收者用此ID查看图片
    }
}
返回值说明
属性 值的类型 说明描述
id string 消息ID
type string image
recipient_id int64 消息的接收者
sender_id int64 消息的发送者
created_at string 消息创建时间
text string 私信内容
data string 消息内容,纯文本私信或留言为空
data:vfid string 图片ID,发送者通过此ID读取图片
data:tovfid string 图片ID,接收者通过此ID读取图片
查看(下载)图片
curl "https://upload.api.weibo.com/2/mss/msget?access_token=RECIPIENT_ACCESS_TOKEN&fid=TOVFID"

1,"RECIPIENT_ACCESS_TOKEN":返回结果中接收者(recipient_id)通过OAuth2授权返回的access_token;
2,"TOVFID":返回结果data字段中的tovfid。


4、位置类型私信消息:position

{
    "id": 1211260020031347,
    "type": "position",
    "recipient_id": 1902538057,
    "sender_id": 2489518277,
    "created_at": "Mon Jul 16 18:09:20 +0800 2012",
    "text": "我在这里: http://t.cn/zQgLLYO",
    "data": {
        "longitude": "344.3344",
        "latitude": "232.343434"
      }
}
返回值说明
属性 值的类型 说明描述
id string 消息ID
type string mention
recipient_id int64 消息的接收者
sender_id int64 消息的发送者
created_at string 消息创建时间
text string 原位置私信文本,没有时用默认文案“发送了一个位置”
data string 消息内容
data:longitude string 经度
data:latitude string 纬度


5、被@消息:mention

说明:指定的蓝V需被授予接收“被@消息”权限,此接口才返回“被@消息”,申请求邮件open_api@sina.com

{
    "id": 1211260020031346,
    "type": "mention",
    "recipient_id": 1902538057,
    "sender_id": 2489518277,
    "created_at": "Mon Jul 16 18:09:20 +0800 2012",
    "text": "被@的微博或评论文本信息",
    "data": {
        "subtype": "MENTION_TYPE,
        "key": "MENTION_KEY"
    }
}
返回值说明
属性 值的类型 说明描述
id string 消息ID
type string mention
recipient_id int64 消息的接收者
sender_id int64 消息的发送者
created_at string 消息创建时间
text string 被@的微博或评论文本信息
data string 消息内容
data:subtype string status:@的微博,comment:@的评论
data:key string 当subtype为status时为微博ID,为comment时为评论ID


注意:需要对接收到的消息体type或subtype做兼容,当出现未知时可忽略此消息。


接口调用失败返回

{
    "request": "/2/messages/receive.json",
    "error_code": "264XX",
    "error": "error message."
}