douban_api 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,11 +1,18 @@
1
1
  # douban_api
2
+
2
3
  Simple Ruby wrapper for [Douban API V2](http://developers.douban.com/wiki/?title=api_v2)
4
+
3
5
  这个项目仍在开发中,缺少文档和测试,欢迎贡献。
4
6
  ## Installation
5
7
  gem install douban_api
6
8
 
7
9
 
8
10
  ## Sample Sinatra App
11
+
12
+ 完整的应用请到 https://github.com/seansay/douban_api_sinatra_example
13
+
14
+ Demo: http://doubanapi.notimportant.org/
15
+
9
16
  require 'rubygems'
10
17
  require 'sinatra'
11
18
  require 'haml'
@@ -26,8 +26,8 @@ module Douban
26
26
  # @return [Array<Hashie::Mash>] 用户列表
27
27
  # @example 获取参与 id为17790089 活动的用户
28
28
  # Douban.event_participants('17790089')
29
- def event_participants(id)
30
- response = get "v2/event/#{id}/participants"
29
+ def event_participants(id, options={})
30
+ response = get("v2/event/#{id}/participants", options)
31
31
  response["users"]
32
32
  end
33
33
 
@@ -40,8 +40,8 @@ module Douban
40
40
  # @return [Array<Hashie::Mash>] 用户列表
41
41
  # @example 获取对 id为17790089 活动感兴趣的用户
42
42
  # Douban.event_wishers('17790089')
43
- def event_wishers(id)
44
- response = get "v2/event/#{id}/wishers"
43
+ def event_wishers(id, options={})
44
+ response = get("v2/event/#{id}/wishers", options)
45
45
  response["users"]
46
46
  end
47
47
 
@@ -13,15 +13,23 @@ module Douban
13
13
  def get_access_token(code, options={})
14
14
  options[:grant_type] ||= "authorization_code"
15
15
  params = access_token_params.merge(options)
16
- post("https://www.douban.com/service/auth2/token", params.merge(:code => code), raw=false)
16
+ response = post("https://www.douban.com/service/auth2/token",
17
+ params.merge(:code => code),
18
+ raw=false)
17
19
  end
18
-
20
+
21
+ # Refresh you access token, see OAuth2 spec for more infomation
22
+ # @see http://developers.douban.com/wiki/?title=oauth2
23
+ # @note 返回新的access_token和refresh_token的同时, 它修改client的access_token和refresh_token
19
24
  def refresh(options={})
20
25
  options[:grant_type] ||= "refresh_token"
21
26
  params = access_token_params.merge(options)
22
- post("https://www.douban.com/service/auth2/token",
23
- params.merge(:refresh_token => refresh_token),
24
- raw=false)
27
+ response = post("https://www.douban.com/service/auth2/token",
28
+ params.merge(:refresh_token => refresh_token),
29
+ raw=false)
30
+ @access_token, @refresh_token = response[:access_token], response[:refresh_token]
31
+
32
+ response
25
33
  end
26
34
 
27
35
  private
@@ -1,4 +1,4 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  module Douban
3
- VERSION = '0.1.3'.freeze unless defined?(::Douban::VERSION)
3
+ VERSION = '0.1.4'.freeze unless defined?(::Douban::VERSION)
4
4
  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.3
4
+ version: 0.1.4
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-07 00:00:00.000000000 Z
12
+ date: 2013-01-06 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: 3076719196697556601
256
+ hash: 410308200798971739
257
257
  required_rubygems_version: !ruby/object:Gem::Requirement
258
258
  none: false
259
259
  requirements: