douban_api 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.yardopts +4 -3
- data/README.md +132 -7
- data/lib/douban_api/api.rb +1 -0
- data/lib/douban_api/client/album.rb +1 -0
- data/lib/douban_api/client/book.rb +23 -22
- data/lib/douban_api/client/comment.rb +1 -0
- data/lib/douban_api/client/discussion.rb +1 -0
- data/lib/douban_api/client/doumail.rb +16 -16
- data/lib/douban_api/client/event.rb +2 -1
- data/lib/douban_api/client/movie.rb +1 -0
- data/lib/douban_api/client/music.rb +1 -0
- data/lib/douban_api/client/note.rb +1 -0
- data/lib/douban_api/client/online.rb +1 -0
- data/lib/douban_api/client/shuo.rb +1 -0
- data/lib/douban_api/client/user.rb +2 -1
- data/lib/douban_api/client/utils.rb +2 -1
- data/lib/douban_api/client.rb +3 -3
- data/lib/douban_api/configuration.rb +2 -2
- data/lib/douban_api/connection.rb +1 -0
- data/lib/douban_api/error.rb +1 -0
- data/lib/douban_api/oauth.rb +1 -0
- data/lib/douban_api/request.rb +1 -0
- data/lib/douban_api/version.rb +2 -1
- data/lib/douban_api.rb +2 -1
- data/lib/faraday/oauth2.rb +1 -0
- data/lib/faraday/parts/filepart.rb +2 -1
- data/lib/faraday/raise_http_exception.rb +1 -0
- metadata +3 -3
data/.yardopts
CHANGED
data/README.md
CHANGED
@@ -3,14 +3,139 @@ Simple Ruby wrapper for [Douban API V2](http://developers.douban.com/wiki/?title
|
|
3
3
|
这个项目仍在开发中,缺少文档和测试,欢迎贡献。
|
4
4
|
## Installation
|
5
5
|
gem install douban_api
|
6
|
-
|
7
|
-
## Examples
|
8
6
|
|
9
|
-
### 获取某部电影
|
10
|
-
Douban.movie('1292000')
|
11
7
|
|
12
|
-
|
13
|
-
|
14
|
-
|
8
|
+
## Sample Sinatra App
|
9
|
+
require 'rubygems'
|
10
|
+
require 'sinatra'
|
11
|
+
require 'haml'
|
12
|
+
require 'douban_api'
|
13
|
+
|
14
|
+
enable :sessions
|
15
|
+
|
16
|
+
set :app_file, __FILE__
|
17
|
+
set :root, File.dirname(__FILE__)
|
18
|
+
set :views, 'views'
|
19
|
+
set :public_folder, 'public'
|
20
|
+
|
21
|
+
# 设置回调的URL和所需的scope(http://developers.douban.com/wiki/?title=oauth2)
|
22
|
+
set :callback_url, "http://doubanapi.notimportant.org/connect"
|
23
|
+
set :scope, "douban_basic_common,shuo_basic_r,shuo_basic_w"
|
24
|
+
|
25
|
+
|
26
|
+
# 设置 apikey和secret,可在 http://developers.douban.com/apikey/ 处查看
|
27
|
+
Douban.configure do |config|
|
28
|
+
config.client_id = ENV['DOUBAN_API_KEY']
|
29
|
+
config.client_secret = ENV['DOUBAN_API_SECRET']
|
30
|
+
end
|
31
|
+
|
32
|
+
|
33
|
+
get '/' do
|
34
|
+
haml :index, :layout => :'layouts/application'
|
35
|
+
end
|
36
|
+
|
37
|
+
get '/login' do
|
38
|
+
redirect Douban.authorize_url(:redirect_uri => settings.callback_url, :scope => settings.scope)
|
39
|
+
end
|
40
|
+
|
41
|
+
get '/connect' do
|
42
|
+
response = Douban.get_access_token(params[:code], :redirect_uri => settings.callback_url)
|
43
|
+
session[:access_token] = response.access_token
|
44
|
+
session[:user_id] = response.douban_user_id
|
45
|
+
redirect "/timeline"
|
46
|
+
end
|
47
|
+
|
48
|
+
get '/timeline' do
|
49
|
+
@client = Douban.client(:access_token => session[:access_token], :user_id => session[:user_id])
|
50
|
+
@statuses = @client.timeline
|
51
|
+
haml :timeline, :layout => :'layouts/application'
|
52
|
+
end
|
53
|
+
|
54
|
+
## API Useage Examples
|
55
|
+
|
56
|
+
client = Douban.client(:access_token=>access_token, :user_id => user_id)
|
57
|
+
|
58
|
+
# 获取已认证用户对音乐的所有标签
|
59
|
+
client.user_music_tags
|
60
|
+
|
61
|
+
=> [{"count"=>166, "alt"=>"http://music.douban.com/tag/内地", "title"=>"内地"},
|
62
|
+
{"count"=>155, "alt"=>"http://music.douban.com/tag/摇滚", "title"=>"摇滚"},
|
63
|
+
{"count"=>139, "alt"=>"http://music.douban.com/tag/美国", "title"=>"美国"},
|
64
|
+
{"count"=>127, "alt"=>"http://music.douban.com/tag/台湾", "title"=>"台湾"},
|
65
|
+
{"count"=>109, "alt"=>"http://music.douban.com/tag/Pop", "title"=>"Pop"},
|
66
|
+
{"count"=>105, "alt"=>"http://music.douban.com/tag/2011", "title"=>"2011"},
|
67
|
+
{"count"=>100, "alt"=>"http://music.douban.com/tag/华语", "title"=>"华语"},
|
68
|
+
{"count"=>97, "alt"=>"http://music.douban.com/tag/女声", "title"=>"女声"},
|
69
|
+
{"count"=>87, "alt"=>"http://music.douban.com/tag/Rock", "title"=>"Rock"},
|
70
|
+
{"count"=>83, "alt"=>"http://music.douban.com/tag/民谣", "title"=>"民谣"},
|
71
|
+
{"count"=>80, "alt"=>"http://music.douban.com/tag/2010", "title"=>"2010"},
|
72
|
+
{"count"=>77, "alt"=>"http://music.douban.com/tag/欧美", "title"=>"欧美"},
|
73
|
+
{"count"=>73, "alt"=>"http://music.douban.com/tag/英国", "title"=>"英国"},
|
74
|
+
{"count"=>73, "alt"=>"http://music.douban.com/tag/中国", "title"=>"中国"},
|
75
|
+
{"count"=>65, "alt"=>"http://music.douban.com/tag/2012", "title"=>"2012"},
|
76
|
+
{"count"=>60, "alt"=>"http://music.douban.com/tag/男声", "title"=>"男声"},
|
77
|
+
{"count"=>55, "alt"=>"http://music.douban.com/tag/流行", "title"=>"流行"},
|
78
|
+
{"count"=>52, "alt"=>"http://music.douban.com/tag/indie", "title"=>"indie"},
|
79
|
+
{"count"=>52, "alt"=>"http://music.douban.com/tag/rock", "title"=>"rock"},
|
80
|
+
{"count"=>48, "alt"=>"http://music.douban.com/tag/Indie", "title"=>"Indie"}]
|
81
|
+
|
82
|
+
# 已登录用户的豆邮收件箱
|
83
|
+
client.inbox
|
84
|
+
|
85
|
+
=> [{"status"=>"R",
|
86
|
+
"sender"=>
|
87
|
+
{"avatar"=>
|
88
|
+
"http://img3.douban.com/view/site/small/public/fc82eb2dcec6ed0.jpg",
|
89
|
+
"alt"=>"http://site.douban.com/fuzz/",
|
90
|
+
"id"=>"104427",
|
91
|
+
"name"=>"THE FUZZ 法兹",
|
92
|
+
"uid"=>"fuzz"},
|
93
|
+
"title"=>"近期动向",
|
94
|
+
"published"=>"2012-12-07 11:32:04",
|
95
|
+
"content"=>
|
96
|
+
"打扰各位,近期2场演出后我们将休整一段时间,开始专辑的准备和录制工作!\r\n\r\n2场演出分别是\r\n12.21 月亮钥匙 W 刺猬\r\n12.28 光圈 地下丝绒45周年致敬演出 "receiver"=>
|
97
|
+
{"avatar"=>"http://img3.douban.com/icon/u2217855-34.jpg",
|
98
|
+
"alt"=>"http://www.douban.com/people/xiaosong/",
|
99
|
+
"id"=>"2217855",
|
100
|
+
"name"=>"小松其实还没有",
|
101
|
+
"uid"=>"xiaosong"},
|
102
|
+
"id"=>"283060020"},
|
103
|
+
{"status"=>"R",………………………………
|
104
|
+
|
105
|
+
# 发送一条广播
|
106
|
+
client.shuo("呵呵后")
|
107
|
+
|
108
|
+
=> {"category"=>nil,
|
109
|
+
"reshared_count"=>0,
|
110
|
+
"attachments"=>[],
|
111
|
+
"entities"=>{"user_mentions"=>[], "topics"=>[], "urls"=>[]},
|
112
|
+
"muted"=>false,
|
113
|
+
"text"=>"呵呵后",
|
114
|
+
"created_at"=>"2012-12-07 14:58:49",
|
115
|
+
"title"=>"说:",
|
116
|
+
"can_reply"=>1,
|
117
|
+
"liked"=>false,
|
118
|
+
"source"=>{"href"=>"", "title"=>"douReminder"},
|
119
|
+
"like_count"=>0,
|
120
|
+
"comments_count"=>0,
|
121
|
+
"user"=>
|
122
|
+
{"description"=>"",
|
123
|
+
"small_avatar"=>"http://img3.douban.com/icon/u2217855-34.jpg",
|
124
|
+
"uid"=>"xiaosong",
|
125
|
+
"type"=>"user",
|
126
|
+
"id"=>"2217855",
|
127
|
+
"screen_name"=>"小松其实还没有"},
|
128
|
+
"is_follow"=>false,
|
129
|
+
"has_photo"=>true,
|
130
|
+
"type"=>"text",
|
131
|
+
"id"=>1059068526}
|
132
|
+
|
133
|
+
更多请查看[文档](http://rdoc.info/github/seansay/douban_api/master/frames) 或阅读 [源码](https://github.com/seansay/douban_api/tree/master/lib/douban_api/client)
|
134
|
+
|
135
|
+
## TODOs
|
136
|
+
|
137
|
+
* Test, test, test……
|
138
|
+
* 文档
|
139
|
+
|
15
140
|
## Copyright
|
16
141
|
This project a fork of [instagram-ruby-gem](https://github.com/Instagram/instagram-ruby-gem), see [LICENSE](https://github.com/seansay/douban_api/blob/master/LICENSE.md) for details.
|
data/lib/douban_api/api.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
1
2
|
module Douban
|
2
3
|
class Client
|
3
4
|
# 图书Api V2
|
@@ -7,7 +8,7 @@ module Douban
|
|
7
8
|
# 获取图书信息
|
8
9
|
#
|
9
10
|
# @see http://developers.douban.com/wiki/?title=book_v2#get_book
|
10
|
-
# @scope book_basic_r
|
11
|
+
# @douban.scope book_basic_r
|
11
12
|
# @authenticated false
|
12
13
|
# @param id [String] 图书的id
|
13
14
|
# @return [Hashie::Mash] 图书信息
|
@@ -19,7 +20,7 @@ module Douban
|
|
19
20
|
|
20
21
|
# 根据isbn获取图书信息
|
21
22
|
#
|
22
|
-
# @scope book_basic_r
|
23
|
+
# @douban.scope book_basic_r
|
23
24
|
# @see http://developers.douban.com/wiki/?title=book_v2#get_isbn_book
|
24
25
|
# @authenticated false
|
25
26
|
# @param id [String] 图书的id
|
@@ -32,7 +33,7 @@ module Douban
|
|
32
33
|
|
33
34
|
# 通过关键字搜索图书
|
34
35
|
#
|
35
|
-
# @scope book_basic_r
|
36
|
+
# @douban.scope book_basic_r
|
36
37
|
# @see http://developers.douban.com/wiki/?title=book_v2#get_book_search
|
37
38
|
# @authenticated false
|
38
39
|
# @param q [String] 查询关键字
|
@@ -46,7 +47,7 @@ module Douban
|
|
46
47
|
|
47
48
|
# 通过tag搜索图书
|
48
49
|
#
|
49
|
-
# @scope book_basic_r
|
50
|
+
# @douban.scope book_basic_r
|
50
51
|
# @see http://developers.douban.com/wiki/?title=book_v2#get_book_search
|
51
52
|
# @authenticated false
|
52
53
|
# @param tag [String] 查询的tag
|
@@ -60,7 +61,7 @@ module Douban
|
|
60
61
|
|
61
62
|
# 某个图书中标记最多的标签, 最多返回前50个tag
|
62
63
|
#
|
63
|
-
# @scope book_basic_r
|
64
|
+
# @douban.scope book_basic_r
|
64
65
|
# @see http://developers.douban.com/wiki/?title=book_v2#get_book_tags
|
65
66
|
# @authenticated false
|
66
67
|
# @param id [String] 图书的id
|
@@ -74,7 +75,7 @@ module Douban
|
|
74
75
|
|
75
76
|
# 获取用户对图书的所有标签
|
76
77
|
#
|
77
|
-
# @scope book_basic_r
|
78
|
+
# @douban.scope book_basic_r
|
78
79
|
# @see http://developers.douban.com/wiki/?title=book_v2#get_user_book_tags
|
79
80
|
# @authenticated false
|
80
81
|
# @param name [String] 用户uid或者数字id
|
@@ -95,7 +96,7 @@ module Douban
|
|
95
96
|
|
96
97
|
# 发表新评论
|
97
98
|
#
|
98
|
-
# @scope douban_basic_common
|
99
|
+
# @douban.scope douban_basic_common
|
99
100
|
# @see http://developers.douban.com/wiki/?title=book_v2#post_book_review
|
100
101
|
# @authenticated true
|
101
102
|
# @param id [String] 图书的id
|
@@ -111,13 +112,13 @@ module Douban
|
|
111
112
|
# 嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻...(省略一些嘻)",
|
112
113
|
# :rating => 5
|
113
114
|
# })
|
114
|
-
def create_book_review(
|
115
|
-
post "v2/book/reviews", options.merge(:book =>
|
115
|
+
def create_book_review(id, options={})
|
116
|
+
post "v2/book/reviews", options.merge(:book => id)
|
116
117
|
end
|
117
118
|
|
118
119
|
# 修改评论
|
119
120
|
#
|
120
|
-
# @scope douban_basic_common
|
121
|
+
# @douban.scope douban_basic_common
|
121
122
|
# @see http://developers.douban.com/wiki/?title=book_v2#put_book_review
|
122
123
|
# @authenticated true
|
123
124
|
# @param id [String] 评论的id
|
@@ -139,7 +140,7 @@ module Douban
|
|
139
140
|
|
140
141
|
# 删除评论
|
141
142
|
#
|
142
|
-
# @scope douban_basic_common
|
143
|
+
# @douban.scope douban_basic_common
|
143
144
|
# @see http://developers.douban.com/wiki/?title=book_v2#delete_book_review
|
144
145
|
# @authenticated true
|
145
146
|
# @param id [String] 图书的id
|
@@ -157,7 +158,7 @@ module Douban
|
|
157
158
|
|
158
159
|
# 获取某篇笔记的信息
|
159
160
|
#
|
160
|
-
# @scope book_basic_r
|
161
|
+
# @douban.scope book_basic_r
|
161
162
|
# @see http://developers.douban.com/wiki/?title=book_v2#delete_book_review
|
162
163
|
# @authenticated true
|
163
164
|
# @param id [String] 笔记的id
|
@@ -173,7 +174,7 @@ module Douban
|
|
173
174
|
|
174
175
|
# 获取某本图书的所有笔记
|
175
176
|
#
|
176
|
-
# @scope book_basic_r
|
177
|
+
# @douban.scope book_basic_r
|
177
178
|
# @see http://developers.douban.com/wiki/?title=book_v2#get_book_annotations
|
178
179
|
# @authenticated false
|
179
180
|
# @param id [String] 图书的id
|
@@ -193,7 +194,7 @@ module Douban
|
|
193
194
|
|
194
195
|
# 用户给某本图书写笔记
|
195
196
|
#
|
196
|
-
# @scope book_basic_w
|
197
|
+
# @douban.scope book_basic_w
|
197
198
|
# @see http://developers.douban.com/wiki/?title=book_v2#post_book_annotation
|
198
199
|
# @authenticated true
|
199
200
|
# @param id [String] 图书的id
|
@@ -218,7 +219,7 @@ module Douban
|
|
218
219
|
|
219
220
|
# 用户修改某篇笔记
|
220
221
|
#
|
221
|
-
# @scope book_basic_w
|
222
|
+
# @douban.scope book_basic_w
|
222
223
|
# @see http://developers.douban.com/wiki/?title=book_v2#put_annotation
|
223
224
|
# @authenticated true
|
224
225
|
# @param id [String] 图书的id
|
@@ -243,7 +244,7 @@ module Douban
|
|
243
244
|
|
244
245
|
# 用户删除某篇笔记
|
245
246
|
#
|
246
|
-
# @scope book_basic_w
|
247
|
+
# @douban.scope book_basic_w
|
247
248
|
# @see http://developers.douban.com/wiki/?title=book_v2#delete_annotation
|
248
249
|
# @authenticated true
|
249
250
|
# @param id [String] 笔记的id
|
@@ -261,7 +262,7 @@ module Douban
|
|
261
262
|
|
262
263
|
# 获取某个用户的所有笔记
|
263
264
|
#
|
264
|
-
# @scope book_basic_r
|
265
|
+
# @douban.scope book_basic_r
|
265
266
|
# @see http://developers.douban.com/wiki/?title=book_v2#get_user_annotations
|
266
267
|
# @authenticated false
|
267
268
|
# @param name [String] 用户uid或者数字id
|
@@ -282,7 +283,7 @@ module Douban
|
|
282
283
|
|
283
284
|
# 获取用户对某本图书的收藏信息
|
284
285
|
#
|
285
|
-
# @scope book_basic_r
|
286
|
+
# @douban.scope book_basic_r
|
286
287
|
# @see http://developers.douban.com/wiki/?title=book_v2#get_book_collection
|
287
288
|
# @authenticated true
|
288
289
|
# @param id [String] 图书的id
|
@@ -295,7 +296,7 @@ module Douban
|
|
295
296
|
|
296
297
|
# 获取某个用户的所有图书收藏信息
|
297
298
|
#
|
298
|
-
# @scope book_basic_r
|
299
|
+
# @douban.scope book_basic_r
|
299
300
|
# @see http://developers.douban.com/wiki/?title=book_v2#get_user_collections
|
300
301
|
# @authenticated false
|
301
302
|
# @param name [String] 用户uid或者数字id
|
@@ -328,7 +329,7 @@ module Douban
|
|
328
329
|
|
329
330
|
# 获取某个用户的所有图书收藏信息
|
330
331
|
#
|
331
|
-
# @scope book_basic_w
|
332
|
+
# @douban.scope book_basic_w
|
332
333
|
# @see http://developers.douban.com/wiki/?title=book_v2#post_book_collection
|
333
334
|
# @authenticated true
|
334
335
|
# @param id [String] 图书的id
|
@@ -352,7 +353,7 @@ module Douban
|
|
352
353
|
|
353
354
|
# 获取某个用户的所有图书收藏信息
|
354
355
|
#
|
355
|
-
# @scope book_basic_w
|
356
|
+
# @douban.scope book_basic_w
|
356
357
|
# @see http://developers.douban.com/wiki/?title=book_v2#put_book_collection
|
357
358
|
# @authenticated true
|
358
359
|
# @param id [String] 图书的id
|
@@ -377,7 +378,7 @@ module Douban
|
|
377
378
|
|
378
379
|
# 用户删除某篇笔记
|
379
380
|
#
|
380
|
-
# @scope book_basic_w
|
381
|
+
# @douban.scope book_basic_w
|
381
382
|
# @see http://developers.douban.com/wiki/?title=book_v2#delete_book_collection
|
382
383
|
# @authenticated true
|
383
384
|
# @param id [String] 图书的id
|
@@ -1,11 +1,13 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
1
2
|
module Douban
|
2
3
|
class Client
|
3
4
|
# 豆邮Api V2 http://developers.douban.com/wiki/?title=doumail_v2
|
4
5
|
module Doumail
|
6
|
+
|
5
7
|
# 获取一封邮件
|
6
8
|
#
|
7
9
|
# @see http://developers.douban.com/wiki/?title=doumail_v2#get_mail
|
8
|
-
# @scope community_advanced_doumail_r
|
10
|
+
# @douban.scope community_advanced_doumail_r
|
9
11
|
# @authenticated true
|
10
12
|
# @param id [String] 豆邮的id
|
11
13
|
# @return [Hashie::Mash] 豆邮信息
|
@@ -18,7 +20,7 @@ module Douban
|
|
18
20
|
# 获取用户收件箱
|
19
21
|
#
|
20
22
|
# @see http://developers.douban.com/wiki/?title=doumail_v2#inbox
|
21
|
-
# @scope community_advanced_doumail_r
|
23
|
+
# @douban.scope community_advanced_doumail_r
|
22
24
|
# @authenticated true
|
23
25
|
# @return [Array<Hashie::Mash>] 豆邮列表
|
24
26
|
# @example 获取当前用户的收件箱
|
@@ -31,7 +33,7 @@ module Douban
|
|
31
33
|
# 获取用户发件箱
|
32
34
|
#
|
33
35
|
# @see http://developers.douban.com/wiki/?title=doumail_v2#outbox
|
34
|
-
# @scope community_advanced_doumail_r
|
36
|
+
# @douban.scope community_advanced_doumail_r
|
35
37
|
# @authenticated true
|
36
38
|
# @return [Array<Hashie::Mash>] 豆邮列表
|
37
39
|
# @example 获取当前用户的发件箱
|
@@ -44,7 +46,7 @@ module Douban
|
|
44
46
|
# 获取用户未读邮件
|
45
47
|
#
|
46
48
|
# @see http://developers.douban.com/wiki/?title=doumail_v2#unread
|
47
|
-
# @scope community_advanced_doumail_r
|
49
|
+
# @douban.scope community_advanced_doumail_r
|
48
50
|
# @authenticated true
|
49
51
|
# @return [Array<Hashie::Mash>] 豆邮列表
|
50
52
|
# @example 获取当前用户未读邮件
|
@@ -57,11 +59,10 @@ module Douban
|
|
57
59
|
# 标记已读邮件
|
58
60
|
#
|
59
61
|
# @see http://developers.douban.com/wiki/?title=doumail_v2#read
|
60
|
-
# @scope community_advanced_doumail_w
|
62
|
+
# @douban.scope community_advanced_doumail_w
|
61
63
|
# @authenticated true
|
62
|
-
# @param id [String]
|
63
|
-
# @
|
64
|
-
# @return [Hashie::Mash] 豆邮信息
|
64
|
+
# @param id [Array<String>, String] 豆邮id的列表或豆邮的id
|
65
|
+
# @return [Array<Hashie::Mash>, Hashie::Mash] 豆邮信息或者豆邮列表
|
65
66
|
# @example 标记id为281740901的
|
66
67
|
# client.read("281740901")
|
67
68
|
# @example 标记多个豆邮为已读
|
@@ -78,10 +79,9 @@ module Douban
|
|
78
79
|
# 删除豆邮
|
79
80
|
#
|
80
81
|
# @see http://developers.douban.com/wiki/?title=doumail_v2#delete
|
81
|
-
# @scope community_advanced_doumail_w
|
82
|
+
# @douban.scope community_advanced_doumail_w
|
82
83
|
# @authenticated true
|
83
|
-
# @param id [String]
|
84
|
-
# @param id [Array<String>] 豆邮id的列表
|
84
|
+
# @param id [Array<String>, String] 豆邮id的列表或豆邮的id
|
85
85
|
# @return [Hashie::Mash] 豆邮信息
|
86
86
|
# @example 删除id为281740901的删除
|
87
87
|
# client.delete_doumail("281740901")
|
@@ -98,7 +98,7 @@ module Douban
|
|
98
98
|
# 发送一封豆邮
|
99
99
|
#
|
100
100
|
# @see http://developers.douban.com/wiki/?title=doumail_v2#send
|
101
|
-
# @scope community_advanced_doumail_w
|
101
|
+
# @douban.scope community_advanced_doumail_w
|
102
102
|
# @authenticated true
|
103
103
|
# @param receiver_id [String] 收件人的id
|
104
104
|
# @option options [String] :title 豆邮标题: 必填字段
|
@@ -107,10 +107,10 @@ module Douban
|
|
107
107
|
# @option options [String] :captcha_string 用户输入验证码: 选填字段
|
108
108
|
# @return [Hashie::Mash] 豆邮信息
|
109
109
|
# @example 发送一封豆邮
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
110
|
+
# client.send_doumail('48576635', {
|
111
|
+
# :title => "test",
|
112
|
+
# :content => "只是test"
|
113
|
+
# })
|
114
114
|
def send_doumail(receiver_id, options={})
|
115
115
|
options["receiver_id"] = receiver_id
|
116
116
|
post("v2/doumails", options) == {}
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
1
2
|
module Douban
|
2
3
|
class Client
|
3
4
|
# 豆瓣同城 V2 http://developers.douban.com/wiki/?title=event_v2
|
@@ -130,7 +131,7 @@ module Douban
|
|
130
131
|
# @see http://developers.douban.com/wiki/?title=event_v2#loc_get
|
131
132
|
# @scope event_basic_r
|
132
133
|
# @authenticated false
|
133
|
-
# @param
|
134
|
+
# @param id [String] 城市id
|
134
135
|
# @return [Hashie::Mash] 活动列表
|
135
136
|
# @example 查看北京的信息
|
136
137
|
# Douban.loc('108288')
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
1
2
|
module Douban
|
2
3
|
class Client
|
3
4
|
# 豆瓣用户API V2 http://developers.douban.com/wiki/?title=user_v2
|
@@ -8,7 +9,7 @@ module Douban
|
|
8
9
|
# @scope douban_basic_common
|
9
10
|
# @see http://developers.douban.com/wiki/?title=user_v2#get_user
|
10
11
|
# @authenticated false
|
11
|
-
# @param
|
12
|
+
# @param user_id [String] 用户uid或者数字id
|
12
13
|
# @return [Hashie::Mash] 用户信息
|
13
14
|
# @example 查看ahbei的信息
|
14
15
|
# Douban.user('ahbei')
|
data/lib/douban_api/client.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
1
2
|
module Douban
|
2
3
|
# Wrapper for the Douban REST API
|
3
4
|
#
|
4
|
-
# @note All methods have been separated into modules and follow the same grouping used in
|
5
|
-
# @see TODO:doc_url
|
5
|
+
# @note All methods have been separated into modules and follow the same grouping used in the Douban API Documentation.
|
6
6
|
class Client < API
|
7
7
|
Dir[File.expand_path('../client/*.rb', __FILE__)].each{|f| require f}
|
8
8
|
|
@@ -22,4 +22,4 @@ module Douban
|
|
22
22
|
include Douban::Client::Comment
|
23
23
|
|
24
24
|
end
|
25
|
-
end
|
25
|
+
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
1
2
|
require 'faraday'
|
2
3
|
require File.expand_path('../../faraday/parts/filepart', __FILE__)
|
3
4
|
require File.expand_path('../version', __FILE__)
|
@@ -58,7 +59,6 @@ module Douban
|
|
58
59
|
# The user agent that will be sent to the API endpoint if none is set
|
59
60
|
DEFAULT_USER_AGENT = "Douban Ruby Gem #{Douban::VERSION}".freeze
|
60
61
|
|
61
|
-
# @private
|
62
62
|
attr_accessor *VALID_OPTIONS_KEYS
|
63
63
|
|
64
64
|
# When this module is extended, set all configuration options to their default values
|
@@ -91,4 +91,4 @@ module Douban
|
|
91
91
|
self.proxy = DEFAULT_PROXY
|
92
92
|
end
|
93
93
|
end
|
94
|
-
end
|
94
|
+
end
|
data/lib/douban_api/error.rb
CHANGED
data/lib/douban_api/oauth.rb
CHANGED
data/lib/douban_api/request.rb
CHANGED
data/lib/douban_api/version.rb
CHANGED
data/lib/douban_api.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
1
2
|
require File.expand_path('../douban_api/error', __FILE__)
|
2
3
|
require File.expand_path('../douban_api/configuration', __FILE__)
|
3
4
|
require File.expand_path('../douban_api/api', __FILE__)
|
@@ -24,4 +25,4 @@ module Douban
|
|
24
25
|
return client.respond_to?(method) || super
|
25
26
|
end
|
26
27
|
|
27
|
-
end
|
28
|
+
end
|
data/lib/faraday/oauth2.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
1
2
|
# monkey patch from @liluo https://gist.github.com/4176272
|
2
3
|
class Faraday::Parts::FilePart
|
3
4
|
def initialize(boundary, name, io)
|
@@ -7,4 +8,4 @@ class Faraday::Parts::FilePart
|
|
7
8
|
@length = @head.length + file_length
|
8
9
|
@io = CompositeReadIO.new(StringIO.new(@head), io, StringIO.new("\r\n"))
|
9
10
|
end
|
10
|
-
end
|
11
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: douban_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-12-
|
12
|
+
date: 2012-12-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: faraday
|
@@ -253,7 +253,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
253
253
|
version: '0'
|
254
254
|
segments:
|
255
255
|
- 0
|
256
|
-
hash:
|
256
|
+
hash: 3076719196697556601
|
257
257
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
258
258
|
none: false
|
259
259
|
requirements:
|