oauth_china 0.0.2 → 0.0.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/README +5 -1
- data/lib/oauth_china/strategies/douban.rb +20 -2
- data/lib/oauth_china/strategies/qq.rb +5 -0
- data/lib/oauth_china/strategies/sina.rb +5 -0
- data/lib/oauth_china/version.rb +1 -1
- data/lib/oauth_china.rb +6 -6
- metadata +6 -6
data/README
CHANGED
@@ -42,4 +42,8 @@ production:
|
|
42
42
|
url = sina.authorize_url
|
43
43
|
Rails.cache.write(sina.oauth_token, sina.dump)
|
44
44
|
redirect_to url
|
45
|
-
end
|
45
|
+
end
|
46
|
+
|
47
|
+
腾讯微博API文档:http://open.t.qq.com/resource.php?i=1,1
|
48
|
+
新浪微博API文档:http://open.t.sina.com.cn/wiki/index.php/API%E6%96%87%E6%A1%A3
|
49
|
+
豆瓣微博API文档:http://www.douban.com/service/apidoc/reference/
|
@@ -19,11 +19,29 @@ module OauthChina
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def authorized?
|
22
|
-
|
22
|
+
return false if access_token.nil?
|
23
|
+
response = self.get("/access_token/#{access_token.token}")
|
24
|
+
response.code == '200'
|
23
25
|
end
|
24
26
|
|
25
27
|
def destroy
|
26
|
-
|
28
|
+
destroy_access_key if !access_token.nil?
|
29
|
+
request_token = access_token = nil
|
30
|
+
end
|
31
|
+
|
32
|
+
def add_status(content, options = {})
|
33
|
+
self.post("http://api.douban.com/miniblog/saying", <<-XML, {"Content-Type" => "application/atom+xml"})
|
34
|
+
<?xml version='1.0' encoding='UTF-8'?>
|
35
|
+
<entry xmlns:ns0="http://www.w3.org/2005/Atom" xmlns:db="http://www.douban.com/xmlns/">
|
36
|
+
<content>#{content}</content>
|
37
|
+
</entry>
|
38
|
+
XML
|
39
|
+
end
|
40
|
+
|
41
|
+
protected
|
42
|
+
def destroy_access_key
|
43
|
+
response = delete("/access_token/#{access_token.token}")
|
44
|
+
response.code == '200'
|
27
45
|
end
|
28
46
|
end
|
29
47
|
end
|
data/lib/oauth_china/version.rb
CHANGED
data/lib/oauth_china.rb
CHANGED
@@ -19,7 +19,7 @@ module OauthChina
|
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
22
|
-
|
22
|
+
#每次认证的唯一标志
|
23
23
|
def oauth_token
|
24
24
|
request_token.params[:oauth_token]
|
25
25
|
end
|
@@ -29,11 +29,11 @@ module OauthChina
|
|
29
29
|
end
|
30
30
|
|
31
31
|
def self.load(data)
|
32
|
-
|
33
|
-
|
32
|
+
access_token = data[:access_token]
|
33
|
+
access_token_secret = data[:access_token_secret]
|
34
34
|
|
35
35
|
oauth = self.new(data[:request_token], data[:request_token_secret])
|
36
|
-
oauth.access_token = ::OAuth::AccessToken.new(consumer,
|
36
|
+
oauth.access_token = ::OAuth::AccessToken.new(consumer, access_token, access_token_secret) if access_token
|
37
37
|
oauth
|
38
38
|
end
|
39
39
|
|
@@ -68,8 +68,8 @@ module OauthChina
|
|
68
68
|
#QQ和新浪OAuth需要verifier参数,豆瓣不需要
|
69
69
|
def authorize(options = {})
|
70
70
|
return unless self.access_token.nil?
|
71
|
-
|
72
|
-
self.access_token ||= ::OAuth::AccessToken.new(consumer,
|
71
|
+
token = self.request_token.get_access_token(options)
|
72
|
+
self.access_token ||= ::OAuth::AccessToken.new(consumer, token.token, token.secret)
|
73
73
|
end
|
74
74
|
|
75
75
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: oauth_china
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 25
|
5
|
+
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 3
|
10
|
+
version: 0.0.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Hooopo
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-03-
|
18
|
+
date: 2011-03-24 00:00:00 +08:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -85,7 +85,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
85
85
|
requirements: []
|
86
86
|
|
87
87
|
rubyforge_project: oauth_china
|
88
|
-
rubygems_version: 1.
|
88
|
+
rubygems_version: 1.3.7
|
89
89
|
signing_key:
|
90
90
|
specification_version: 3
|
91
91
|
summary: !binary |
|