graph-api 0.9.4 → 0.9.5
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/Gemfile.lock +5 -1
- data/graph_api.gemspec +1 -0
- data/lib/graph_api.rb +13 -9
- data/lib/graph_api/version.rb +1 -1
- metadata +17 -1
data/Gemfile.lock
CHANGED
@@ -1,16 +1,20 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
graph-api (0.9.
|
4
|
+
graph-api (0.9.5)
|
5
5
|
json
|
6
6
|
rake
|
7
|
+
rest-client
|
7
8
|
|
8
9
|
GEM
|
9
10
|
remote: http://rubygems.org/
|
10
11
|
specs:
|
11
12
|
diff-lcs (1.1.3)
|
12
13
|
json (1.7.5)
|
14
|
+
mime-types (1.19)
|
13
15
|
rake (0.9.2.2)
|
16
|
+
rest-client (1.6.7)
|
17
|
+
mime-types (>= 1.16)
|
14
18
|
rspec (2.11.0)
|
15
19
|
rspec-core (~> 2.11.0)
|
16
20
|
rspec-expectations (~> 2.11.0)
|
data/graph_api.gemspec
CHANGED
data/lib/graph_api.rb
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
require 'json'
|
2
|
+
require 'rest_client'
|
3
|
+
|
2
4
|
# Public: Various methods useful for interfacing with Facebook Graph protocol.
|
3
5
|
#
|
4
6
|
# Example:
|
@@ -51,9 +53,9 @@ module GraphAPI
|
|
51
53
|
# GraphAPI.config APP_SECRET: '124ca2a483f12723cafa7a5da33a3492',
|
52
54
|
# CLIENT_ID: '234513432316919'
|
53
55
|
#
|
54
|
-
def
|
56
|
+
def config(consts)
|
55
57
|
consts.each do |const, value|
|
56
|
-
|
58
|
+
const_set(const.to_s, value)
|
57
59
|
end
|
58
60
|
end
|
59
61
|
|
@@ -62,7 +64,7 @@ module GraphAPI
|
|
62
64
|
# callback_url - With CALLBACK_URL set to nil setting this parameter will use
|
63
65
|
# the sent callback. This is useful when you're using dynamic
|
64
66
|
# URIs with subdomains.
|
65
|
-
def
|
67
|
+
def auth_url(callback_url=nil)
|
66
68
|
"https://graph.facebook.com/oauth/authorize?client_id=#{CLIENT_ID}" +
|
67
69
|
"&redirect_uri=#{CALLBACK_URL or callback_url}" +
|
68
70
|
"&scope=#{ACCESS_SCOPE.join(',')}"
|
@@ -76,7 +78,7 @@ module GraphAPI
|
|
76
78
|
# callback_url - With CALLBACK_URL set to nil setting this parameter will use
|
77
79
|
# the sent callback. This is useful when you're using dynamic
|
78
80
|
# URIs with subdomains.
|
79
|
-
def
|
81
|
+
def fetch_token(code, callback_url=nil)
|
80
82
|
RestClient.get('https://graph.facebook.com/oauth/access_token', { client_id: CLIENT_ID,
|
81
83
|
redirect_uri: (CALLBACK_URL or callback_url),
|
82
84
|
client_secret: APP_SECRET,
|
@@ -90,13 +92,13 @@ module GraphAPI
|
|
90
92
|
# access_token - The access token required for making the request on the Facebook users behalf.
|
91
93
|
#
|
92
94
|
# Returns a parsed JSON array returned from the Facebook service with a format like ['example' => 'some_data'].
|
93
|
-
def
|
95
|
+
def request(url, access_token)
|
94
96
|
JSON.parse(RestClient.get "https://graph.facebook.com#{url}&access_token=#{access_token}")
|
95
97
|
end
|
96
98
|
|
97
99
|
# Public: Returns a Facebook user array containing the fields set by the
|
98
100
|
# USER_FIELDS constant and the access token for convenience.
|
99
|
-
def
|
101
|
+
def request_user(access_token)
|
100
102
|
request("/me?&fields=#{USER_FIELDS.join(',')}", access_token).
|
101
103
|
merge('access_token' => access_token)
|
102
104
|
end
|
@@ -107,7 +109,7 @@ module GraphAPI
|
|
107
109
|
# callback_url - With CALLBACK_URL set to nil setting this parameter will use
|
108
110
|
# the sent callback. This is useful when you're using dynamic
|
109
111
|
# URIs with subdomains.
|
110
|
-
def
|
112
|
+
def fetch_user(code, callback_url=nil)
|
111
113
|
access_token = fetch_token(code, callback_url)
|
112
114
|
request_user(access_token)
|
113
115
|
end
|
@@ -115,7 +117,7 @@ module GraphAPI
|
|
115
117
|
# Public: Fetches and returns the cover photo src for a Facebook user.
|
116
118
|
#
|
117
119
|
# access_token - This method requires an Facebook Authentication token.
|
118
|
-
def
|
120
|
+
def fetch_photo(access_token)
|
119
121
|
albums = request('/me/albums?fields=id,cover_photo,type', access_token)['data']
|
120
122
|
photo_id = albums.find{|x| x['type'] == 'profile'}['cover_photo']
|
121
123
|
request("/#{photo_id}/?fields=source", access_token)['source']
|
@@ -124,7 +126,9 @@ module GraphAPI
|
|
124
126
|
# Public: Fetches and returns the current thumbnail src for a Facebook user.
|
125
127
|
#
|
126
128
|
# access_token - This method requires an Facebook Authentication token.
|
127
|
-
def
|
129
|
+
def fetch_thumbnail(access_token)
|
128
130
|
request('/me?fields=picture', access_token)['picture']
|
129
131
|
end
|
132
|
+
|
133
|
+
extend self
|
130
134
|
end
|
data/lib/graph_api/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: graph-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -43,6 +43,22 @@ dependencies:
|
|
43
43
|
- - ! '>='
|
44
44
|
- !ruby/object:Gem::Version
|
45
45
|
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: rest-client
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
46
62
|
- !ruby/object:Gem::Dependency
|
47
63
|
name: rspec
|
48
64
|
requirement: !ruby/object:Gem::Requirement
|