social_oauth_api 0.0.3 → 0.0.4
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.
- checksums.yaml +8 -8
- data/lib/social_oauth_api/base.rb +11 -7
- data/lib/social_oauth_api/version.rb +1 -1
- data/lib/social_oauth_api/weibo.rb +36 -0
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NmZkODg3NmZmMTJiNmY5NWM4ZDllMDE4MGZhZDdhYTMzY2M5OWFhYg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MzA0OGJjNzdiOTk2NzM3ZmRhY2U4NzkyMTNmMzlkZDc4MzNmMmMxMw==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
Mjg3NWM1NWIxNWZkZTAyNDk4NzM0MTc1NTA5MGViZDM0NGRiNmVkMmViN2U2
|
10
|
+
OWZhZGM3Zjk1N2EzYTBmMGI3NjJiYTRlY2VlMzY1YWM5ZTI4MGUzZjcxNjdh
|
11
|
+
NDkxOGMwYzkzOTE5ODc0Y2NmNGJjZDVkN2NkMGM3ZmVlMmQ5NmQ=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MmM4YWZkNGQwODFkZDU1MzFiYzNhNWE1OWNjNDcyZDE0MjM2NDAwOWQ5MzM3
|
14
|
+
MTJjMTI3ZGMzYTZlNWUzZDBiN2RiNTZiZWQ5Yzg3ODc3Y2ZkY2QzMTVlNjYy
|
15
|
+
NTI5YTk4NDJhYTI3NWNkNjJmMDdhYTViY2JkYzk5MjVkY2UyZjE=
|
@@ -4,6 +4,8 @@ module SocialOauthApi
|
|
4
4
|
class Base
|
5
5
|
attr_accessor :client_id, :client_secret, :access_token
|
6
6
|
|
7
|
+
HTTP_TIMEOUT = 15
|
8
|
+
|
7
9
|
def initialize options
|
8
10
|
@client_id = options[:client_id]
|
9
11
|
@client_secret = options[:client_secret]
|
@@ -11,13 +13,15 @@ module SocialOauthApi
|
|
11
13
|
end
|
12
14
|
|
13
15
|
def get url, query
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
16
|
+
timeout(HTTP_TIMEOUT) do
|
17
|
+
uri = URI(url)
|
18
|
+
uri.query = URI.encode_www_form(query)
|
19
|
+
http = Net::HTTP.new(uri.host, uri.port)
|
20
|
+
http.use_ssl = true if uri.scheme == 'https'
|
21
|
+
request = Net::HTTP::Get.new(uri.request_uri)
|
22
|
+
response = http.request(request)
|
23
|
+
response.body
|
24
|
+
end
|
21
25
|
end
|
22
26
|
end
|
23
27
|
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
module SocialOauthApi
|
4
|
+
module Weibo
|
5
|
+
class User < Base
|
6
|
+
UID_URL = 'https://api.weibo.com/2/account/get_uid.json'
|
7
|
+
SHOW_URL = 'https://api.weibo.com/2/users/show.json'
|
8
|
+
|
9
|
+
def default_query
|
10
|
+
{ source: client_id, access_token: access_token }
|
11
|
+
end
|
12
|
+
|
13
|
+
def uid
|
14
|
+
@uid ||= JSON.parse(get(UID_URL, default_query))
|
15
|
+
@uid['uid'].to_s
|
16
|
+
end
|
17
|
+
|
18
|
+
def show
|
19
|
+
@user_info ||= JSON.parse(get(SHOW_URL, default_query.merge(uid: uid)))
|
20
|
+
end
|
21
|
+
|
22
|
+
def screen_name
|
23
|
+
show['screen_name']
|
24
|
+
end
|
25
|
+
|
26
|
+
def profile_image_url
|
27
|
+
show['profile_image_url']
|
28
|
+
end
|
29
|
+
|
30
|
+
alias :id :uid
|
31
|
+
alias :name :screen_name
|
32
|
+
alias :image_url :profile_image_url
|
33
|
+
alias :user_info :show
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: social_oauth_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Spirit
|
@@ -55,6 +55,7 @@ files:
|
|
55
55
|
- lib/social_oauth_api/social/qq.rb
|
56
56
|
- lib/social_oauth_api/social/weibo.rb
|
57
57
|
- lib/social_oauth_api/version.rb
|
58
|
+
- lib/social_oauth_api/weibo.rb
|
58
59
|
- social_oauth_api.gemspec
|
59
60
|
homepage: https://github.com/NaixSpirit/social_oauth_api
|
60
61
|
licenses:
|