Class: Weibo2::Interface::Statuses

Inherits:
Base
  • Object
show all
Defined in:
lib/weibo2/interface/statuses.rb

Overview

Statuses API

Instance Method Summary collapse

Methods inherited from Base

#get, #initialize, #post, #request

Constructor Details

This class inherits a constructor from Weibo2::Interface::Base

Instance Method Details

#destroy(id) ⇒ Object

根据微博ID删除指定微博

Parameters:

  • id (int64)

    需要删除的微博ID

See Also:



238
239
240
# File 'lib/weibo2/interface/statuses.rb', line 238

def destroy(id)
  post 'statuses/destroy.json', :body => {:id => id}
end

#emotions(opts = {}) ⇒ Object

获取微博官方表情的详细信息

Parameters:

  • opts (Hash) (defaults to: {})

Options Hash (opts):

  • :type (String)

    表情类别,face:普通表情、ani:魔法表情、cartoon:动漫表情,默认为face

  • :language (String)

    语言类别,cnname:简体、twname:繁体,默认为cnname

See Also:



295
296
297
# File 'lib/weibo2/interface/statuses.rb', line 295

def emotions(opts={})
  get 'emotions.json', :params => opts
end

#friends_timeline(opts = {}) ⇒ Object

获取当前登录用户及其所关注用户的最新微博

Parameters:

  • opts (Hash) (defaults to: {})

Options Hash (opts):

  • :since_id (int64)

    若指定此参数,则返回ID比since_id大的微博(即比since_id时间晚的微博),默认为0

  • :max_id (int64)

    若指定此参数,则返回ID小于或等于max_id的微博,默认为0

  • :count (int)

    单页返回的记录条数,默认为50

  • :page (int)

    返回结果的页码,默认为1

  • :base_app (int)

    是否只获取当前应用的数据。0为否(所有数据),1为是(仅当前应用),默认为0

  • :feature (int)

    过滤类型ID,0:全部、1:原创、2:图片、3:视频、4:音乐,默认为0

See Also:



33
34
35
# File 'lib/weibo2/interface/statuses.rb', line 33

def friends_timeline(opts={})
  get 'statuses/friends_timeline.json', :params => opts
end

#home_timeline(opts = {}) ⇒ Object

获取当前登录用户及其所关注用户的最新微博

Parameters:

  • opts (Hash) (defaults to: {})

Options Hash (opts):

  • :since_id (int64)

    若指定此参数,则返回ID比since_id大的微博(即比since_id时间晚的微博),默认为0

  • :max_id (int64)

    若指定此参数,则返回ID小于或等于max_id的微博,默认为0

  • :count (int)

    单页返回的记录条数,默认为50

  • :page (int)

    返回结果的页码,默认为1

  • :base_app (int)

    是否只获取当前应用的数据。0为否(所有数据),1为是(仅当前应用),默认为0

  • :feature (int)

    过滤类型ID,0:全部、1:原创、2:图片、3:视频、4:音乐,默认为0

See Also:



48
49
50
# File 'lib/weibo2/interface/statuses.rb', line 48

def home_timeline(opts={})
  get 'statuses/home_timeline.json', :params => opts
end

#hot_comments_daily(opts = {}) ⇒ Object

按天返回热门微博评论榜的微博列表

Parameters:

  • opts (Hash) (defaults to: {})

Options Hash (opts):

  • :count (int)

    返回的记录条数,最大不超过50,默认为20

  • :base_app (int)

    是否只获取当前应用的数据。0为否(所有数据),1为是(仅当前应用),默认为0

See Also:



201
202
203
# File 'lib/weibo2/interface/statuses.rb', line 201

def hot_comments_daily(opts={})
  get 'statuses/hot/comments_daily.json', :params => opts
end

#hot_comments_weekly(opts = {}) ⇒ Object

按周返回热门微博评论榜的微博列表

Parameters:

  • opts (Hash) (defaults to: {})

Options Hash (opts):

  • :count (int)

    返回的记录条数,最大不超过50,默认为20

  • :base_app (int)

    是否只获取当前应用的数据。0为否(所有数据),1为是(仅当前应用),默认为0

See Also:



212
213
214
# File 'lib/weibo2/interface/statuses.rb', line 212

def hot_comments_weekly(opts={})
  get 'statuses/hot/comments_weekly.json', :params => opts
end

#hot_repost_daily(opts = {}) ⇒ Object

按天返回热门微博转发榜的微博列表

Parameters:

  • opts (Hash) (defaults to: {})

Options Hash (opts):

  • :count (int)

    返回的记录条数,最大不超过50,默认为20

  • :base_app (int)

    是否只获取当前应用的数据。0为否(所有数据),1为是(仅当前应用),默认为0

See Also:



179
180
181
# File 'lib/weibo2/interface/statuses.rb', line 179

def hot_repost_daily(opts={})
  get 'statuses/hot/repost_daily.json', :params => opts
end

#hot_repost_weekly(opts = {}) ⇒ Object

按周返回热门微博转发榜的微博列表

Parameters:

  • opts (Hash) (defaults to: {})

Options Hash (opts):

  • :count (int)

    返回的记录条数,最大不超过50,默认为20

  • :base_app (int)

    是否只获取当前应用的数据。0为否(所有数据),1为是(仅当前应用),默认为0

See Also:



190
191
192
# File 'lib/weibo2/interface/statuses.rb', line 190

def hot_repost_weekly(opts={})
  get 'statuses/hot/repost_weekly.json', :params => opts
end

#mentions(opts = {}) ⇒ Object

获取最新的提到登录用户的微博列表,即@我的微博

Parameters:

  • opts (Hash) (defaults to: {})

Options Hash (opts):

  • :since_id (int64)

    若指定此参数,则返回ID比since_id大的微博(即比since_id时间晚的微博),默认为0

  • :max_id (int64)

    若指定此参数,则返回ID小于或等于max_id的微博,默认为0

  • :count (int)

    单页返回的记录条数,默认为50

  • :page (int)

    返回结果的页码,默认为1

  • :filter_by_author (int)

    作者筛选类型,0:全部、1:我关注的人、2:陌生人,默认为0

  • :filter_by_source (int)

    来源筛选类型,0:全部、1:来自微博、2:来自微群,默认为0

  • :filter_by_type (int)

    原创筛选类型,0:全部微博、1:原创的微博,默认为0

See Also:



123
124
125
# File 'lib/weibo2/interface/statuses.rb', line 123

def mentions(opts={})  
  get 'statuses/mentions.json', :params => opts
end

#public_timeline(opts = {}) ⇒ Object

返回最新的公共微博

Parameters:

  • opts (Hash) (defaults to: {})

Options Hash (opts):

  • :count (int)

    单页返回的记录条数,默认为50

  • :page (int)

    返回结果的页码,默认为1

  • :base_app (int)

    是否只获取当前应用的数据。0为否(所有数据),1为是(仅当前应用),默认为0

See Also:



18
19
20
# File 'lib/weibo2/interface/statuses.rb', line 18

def public_timeline(opts={})
  get 'statuses/public_timeline.json', :params => opts
end

#queryid(mid, type = 1, opts = {}) ⇒ Object

test failed 通过微博(评论、私信)MID获取其ID

Parameters:

  • mid (String)

    需要查询的微博(评论、私信)MID,批量模式下,用半角逗号分隔,最多不超过20个

  • type (int) (defaults to: 1)

    获取类型,1:微博、2:评论、3:私信,默认为1

  • opts (Hash) (defaults to: {})

Options Hash (opts):

  • :is_batch (int)

    是否使用批量模式,0:否、1:是,默认为0

  • :inbox (int)

    仅对私信有效,当MID类型为私信时用此参数,0:发件箱、1:收件箱,默认为0

  • :isBase62 (int)

    MID是否是base62编码,0:否、1:是,默认为0

See Also:



168
169
170
# File 'lib/weibo2/interface/statuses.rb', line 168

def queryid(mid, type=1, opts={})
  get 'statuses/queryid.json', :params => {:mid => mid, :type => type}.merge(opts)
end

#querymid(id, type = 1, opts = {}) ⇒ Object

通过微博(评论、私信)ID获取其MID

Parameters:

  • id (int64)

    需要查询的微博(评论、私信)ID,批量模式下,用半角逗号分隔,最多不超过20个

  • type (int) (defaults to: 1)

    获取类型,1:微博、2:评论、3:私信,默认为1

  • opts (Hash) (defaults to: {})

Options Hash (opts):

  • :is_batch (int)

    是否使用批量模式,0:否、1:是,默认为0

See Also:



153
154
155
# File 'lib/weibo2/interface/statuses.rb', line 153

def querymid(id, type=1, opts={})
  get 'statuses/querymid.json', :params => {:id => id, :type => type}.merge(opts)
end

#repost(id, opts = {}) ⇒ Object

转发一条微博

Parameters:

  • id (int64)

    要转发的微博ID

  • opts (Hash) (defaults to: {})

Options Hash (opts):

  • :status (String)

    添加的转发文本,必须做URLencode,内容不超过140个汉字,不填则默认为“转发微博”

  • :is_comment (int)

    是否在转发的同时发表评论,0:否、1:评论给当前微博、2:评论给原微博、3:都评论,默认为0

See Also:



229
230
231
# File 'lib/weibo2/interface/statuses.rb', line 229

def repost(id, opts={})
  post 'statuses/repost.json', :body => {:id => id}.merge(opts)
end

#repost_by_me(opts = {}) ⇒ Object

获取当前用户最新转发的微博列表

Parameters:

  • opts (Hash) (defaults to: {})

Options Hash (opts):

  • :since_id (int64)

    若指定此参数,则返回ID比since_id大的微博(即比since_id时间晚的微博),默认为0

  • :max_id (int64)

    若指定此参数,则返回ID小于或等于max_id的微博,默认为0

  • :count (int)

    单页返回的记录条数,默认为50

  • :page (int)

    返回结果的页码,默认为1

See Also:



107
108
109
# File 'lib/weibo2/interface/statuses.rb', line 107

def repost_by_me(opts={})
  get 'statuses/repost_by_me.json', :params => opts
end

#repost_timeline(id, opts = {}) ⇒ Object

获取指定微博的转发微博列表

Parameters:

  • id (int64)

    需要查询的微博ID

  • opts (Hash) (defaults to: {})

Options Hash (opts):

  • :since_id (int64)

    若指定此参数,则返回ID比since_id大的微博(即比since_id时间晚的微博),默认为0

  • :max_id (int64)

    若指定此参数,则返回ID小于或等于max_id的微博,默认为0

  • :count (int)

    单页返回的记录条数,默认为50

  • :page (int)

    返回结果的页码,默认为1

  • :filter_by_author (int)

    作者筛选类型,0:全部、1:我关注的人、2:陌生人,默认为0

See Also:



94
95
96
# File 'lib/weibo2/interface/statuses.rb', line 94

def repost_timeline(id, opts={})
  get 'statuses/repost_timeline.json', :params => {:id => id}.merge(opts)
end

#show(id) ⇒ Object

根据微博ID获取单条微博内容

Parameters:

  • id (int)

    需要获取的微博ID

See Also:



132
133
134
# File 'lib/weibo2/interface/statuses.rb', line 132

def show(id)
  get 'statuses/show.json', :params => {:id => id}
end

#show_batch(ids) ⇒ Object

根据微博ID批量获取微博信息 [Privilege]

Parameters:

  • ids (String)

    需要查询的微博ID,用半角逗号分隔,最多不超过50个

See Also:



141
142
143
# File 'lib/weibo2/interface/statuses.rb', line 141

def show_batch(ids)
  get 'statuses/show_batch.json', :params => {:ids => ids}
end

#timeline_batch(opts = {}) ⇒ Object

批量获取指定的一批用户的微博列表 [Privilege]

Parameters:

  • opts (Hash) (defaults to: {})

    a customizable set of options

Options Hash (opts):

  • :uids (String)

    需要查询的用户ID,用半角逗号分隔,一次最多20个

  • :screen_name (String)

    需要查询的用户昵称,用半角逗号分隔,一次最多20个

  • :count (int)

    单页返回的记录条数,默认为20

  • :page (int)

    返回结果的页码,默认为1

  • :base_app (int)

    是否只获取当前应用的数据。0为否(所有数据),1为是(仅当前应用),默认为0

  • :feature (int)

    过滤类型ID,0:全部、1:原创、2:图片、3:视频、4:音乐,默认为0

See Also:



79
80
81
# File 'lib/weibo2/interface/statuses.rb', line 79

def timeline_batch(opts={})
  get 'statuses/timeline_batch.json', :params => opts
end

#update(status, opts = {}) ⇒ Object

no tested 发布一条新微博

Parameters:

  • status (String)

    要发布的微博文本内容,内容不超过140个汉字

  • opts (Hash) (defaults to: {})

Options Hash (opts):

  • :lat (float)

    纬度,有效范围:-90.0到90.0,表示北纬,默认为0.0

  • :long (float)

    经度,有效范围:-180.0到180.0,表示东经,默认为0.0

  • :annotations (String)

    元数据,主要是为了方便第三方应用记录一些适合于自己使用的信息,每条微博 可以包含一个或者多个元数据,必须以json字串的形式提交,字串长度不超过512个字符,具体内容可以自定

See Also:



253
254
255
# File 'lib/weibo2/interface/statuses.rb', line 253

def update(status, opts={})
  post 'statuses/update.json', :body => {:status => status}.merge(opts)
end

#upload(status, pic, opts = {}) ⇒ Object

no tested 上传图片并发布一条新微博

Parameters:

  • status (String)

    要发布的微博文本内容,内容不超过140个汉字

  • pic (binary)

    要上传的图片,仅支持JPEG、GIF、PNG格式,图片大小小于5M

  • opts (Hash) (defaults to: {})

Options Hash (opts):

  • :lat (float)

    纬度,有效范围:-90.0到90.0,表示北纬,默认为0.0

  • :long (float)

    经度,有效范围:-180.0到180.0,表示东经,默认为0.0

  • :annotations (String)

    元数据,主要是为了方便第三方应用记录一些适合于自己使用的信息,每条微博 可以包含一个或者多个元数据,必须以json字串的形式提交,字串长度不超过512个字符,具体内容可以自定

See Also:



269
270
271
# File 'lib/weibo2/interface/statuses.rb', line 269

def upload(status, pic, opts={})
  post 'statuses/upload.json', :body => {:status => status, :pic => pic}.merge(opts)
end

#upload_url_text(opts = {}) ⇒ Object

指定一个图片URL地址抓取后上传并同时发布一条新微博 [Privilege]

Parameters:

  • opts (Hash) (defaults to: {})

Options Hash (opts):

  • :status (String)

    要发布的微博文本内容,内容不超过140个汉字

  • :url (String)

    图片的URL地址,必须以http开头

  • :lat (float)

    纬度,有效范围:-90.0到90.0,表示北纬,默认为0.0

  • :long (float)

    经度,有效范围:-180.0到180.0,表示东经,默认为0.0

  • :annotations (String)

    元数据,主要是为了方便第三方应用记录一些适合于自己使用的信息,每条微博 可以包含一个或者多个元数据,必须以json字串的形式提交,字串长度不超过512个字符,具体内容可以自定

See Also:



284
285
286
# File 'lib/weibo2/interface/statuses.rb', line 284

def upload_url_text(opts={})
  post 'statuses/upload_url_text.json', :body => opts
end

#user_timeline(opts = {}) ⇒ Object

获取某个用户最新发表的微博列表

Parameters:

  • opts (Hash) (defaults to: {})

Options Hash (opts):

  • :uid (int64)

    需要查询的用户ID

  • :screen_name (String)

    需要查询的用户昵称

  • :since_id (int64)

    若指定此参数,则返回ID比since_id大的微博(即比since_id时间晚的微博),默认为0

  • :max_id (int64)

    若指定此参数,则返回ID小于或等于max_id的微博,默认为0

  • :count (int)

    单页返回的记录条数,默认为50

  • :page (int)

    返回结果的页码,默认为1

  • :base_app (int)

    是否只获取当前应用的数据。0为否(所有数据),1为是(仅当前应用),默认为0

  • :feature (int)

    过滤类型ID,0:全部、1:原创、2:图片、3:视频、4:音乐,默认为0

  • :trim_user (int)

    返回值中user信息开关,0:返回完整的user信息、1:user字段仅返回user_id,默认为0

See Also:



66
67
68
# File 'lib/weibo2/interface/statuses.rb', line 66

def user_timeline(opts={})
  get 'statuses/user_timeline.json', :params => opts
end