fgraph 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- data/History +11 -0
- data/README.rdoc +4 -4
- data/VERSION.yml +1 -1
- data/lib/fgraph.rb +7 -7
- data/lib/fgraph/client.rb +2 -3
- data/lib/tasks/fgraph.rake +14 -0
- data/test/fgraph/client_test.rb +6 -9
- data/test/fgraph_test.rb +8 -9
- metadata +4 -3
data/History
CHANGED
@@ -1,3 +1,14 @@
|
|
1
|
+
v0.1.4 - May 22, 2010
|
2
|
+
* Update rdoc, client_id should refer to Application ID instead of
|
3
|
+
API Key (as of OAuth v2)
|
4
|
+
* Remove :app_id option from FGraph::Client
|
5
|
+
|
6
|
+
v0.1.3 - May 21, 2010
|
7
|
+
* Update rdoc
|
8
|
+
|
9
|
+
v0.1.2 - May 20, 2010
|
10
|
+
* Update rdoc
|
11
|
+
|
1
12
|
v0.1.1 - May 20, 2010
|
2
13
|
* Update rdoc
|
3
14
|
|
data/README.rdoc
CHANGED
@@ -98,11 +98,11 @@ OAuth Application Access Token, required to access application anlytics data:
|
|
98
98
|
|
99
99
|
=== Insights
|
100
100
|
|
101
|
-
# https://graph.facebook.com/
|
102
|
-
FGraph.insights('[
|
101
|
+
# https://graph.facebook.com/client_id/insights?access_token=...
|
102
|
+
FGraph.insights('[client_id]', '[app_access_token]')
|
103
103
|
|
104
|
-
# https://graph.facebook.com/
|
105
|
-
FGraph.insights('[
|
104
|
+
# https://graph.facebook.com/client_id/insights/application_api_call/day?access_token=...
|
105
|
+
FGraph.insights('[client_id]', '[app_access_token]', :metric_path => 'application_api_call/day')
|
106
106
|
|
107
107
|
=== FGraph::Client
|
108
108
|
|
data/VERSION.yml
CHANGED
data/lib/fgraph.rb
CHANGED
@@ -88,7 +88,7 @@ module FGraph
|
|
88
88
|
# user's behalf. Returns Oauth Authorization URL, redirect to this URL to allow user to authorize your
|
89
89
|
# application from Facebook.
|
90
90
|
#
|
91
|
-
# <tt>client_id</tt> -
|
91
|
+
# <tt>client_id</tt> - Application ID
|
92
92
|
# <tt>redirect_uri</tt> - Needs to begin with your app's Connect URL. For instance, if your Connect URL
|
93
93
|
# is http://www.example.com then your redirect URI could be http://www.example.com/oauth_redirect.
|
94
94
|
# <tt>scope (optional)</tt> -
|
@@ -217,20 +217,20 @@ module FGraph
|
|
217
217
|
|
218
218
|
# Download insights data for your application.
|
219
219
|
#
|
220
|
-
# # https://graph.facebook.com/
|
221
|
-
# FGraph.insights('[
|
220
|
+
# # https://graph.facebook.com/[client_id]/insights?access_token=...
|
221
|
+
# FGraph.insights('[client_id]', '[app_access_token]')
|
222
222
|
#
|
223
|
-
# # https://graph.facebook.com/
|
224
|
-
# FGraph.insights('[
|
223
|
+
# # https://graph.facebook.com/[client_id]/insights/application_api_call/day?access_token=...
|
224
|
+
# FGraph.insights('[client_id]', '[app_access_token]', :metric_path => 'application_api_call/day')
|
225
225
|
#
|
226
226
|
# ==== Options
|
227
227
|
# * <tt>metric_path</tt> - e.g. application_api_calls/day
|
228
228
|
# * <tt>since</tt> - since (a unix timestamp or any date accepted by strtotime, e.g. yesterday)
|
229
229
|
# * <tt>until</tt> - until (a unix timestamp or any date accepted by strtotime, e.g. yesterday)
|
230
|
-
def self.insights(
|
230
|
+
def self.insights(client_id, app_access_token, options={})
|
231
231
|
metric_path = options.delete(:metric_path)
|
232
232
|
|
233
|
-
path = "/#{
|
233
|
+
path = "/#{client_id}/insights"
|
234
234
|
path += "/#{metric_path}" if metric_path
|
235
235
|
|
236
236
|
self.perform_get(path, {
|
data/lib/fgraph/client.rb
CHANGED
@@ -11,9 +11,8 @@ module FGraph
|
|
11
11
|
# when calling respective Facebook Graph API methods.
|
12
12
|
#
|
13
13
|
# ==== Options
|
14
|
-
# * <tt>client_id</tt> - Application
|
14
|
+
# * <tt>client_id</tt> - Application ID
|
15
15
|
# * <tt>client_secret</tt> - Application Secret
|
16
|
-
# * <tt>app_id</tt> - Application ID
|
17
16
|
# * <tt>access_token</tt> - Access token, required to publish to Facebook Graph or access
|
18
17
|
# current user profile.
|
19
18
|
# * <tt>app_access_token</tt> - Application access token, required to access Facebook insights.
|
@@ -89,7 +88,7 @@ module FGraph
|
|
89
88
|
unless self.options[:app_access_token]
|
90
89
|
self.options[:app_access_token] = self.oauth_app_access_token
|
91
90
|
end
|
92
|
-
FGraph.insights(self.options[:
|
91
|
+
FGraph.insights(self.options[:client_id], self.options[:app_access_token], options)
|
93
92
|
end
|
94
93
|
|
95
94
|
def method_missing(name, *args, &block)
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
|
3
|
+
namespace :fgraph do
|
4
|
+
desc "Create fgraph.yml configuration file in Rails config folder"
|
5
|
+
task :setup => :environment do
|
6
|
+
fgraph_config = File.join(RAILS_ROOT, "config", "fgraph.yml")
|
7
|
+
unless File.exist?(fgraph_config)
|
8
|
+
|
9
|
+
else
|
10
|
+
puts "#{RAILS_ROOT}/config/fgraph.yml already exists."
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
data/test/fgraph/client_test.rb
CHANGED
@@ -1,9 +1,8 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
3
|
class ClientTest < Test::Unit::TestCase
|
4
|
-
FACEBOOK_API_KEY = '878116c4a4b79f25e4beb97ab096cc92'
|
5
|
-
FACEBOOK_APP_SECRET = '41f0e7ee8b6501dca1610de9926477c4'
|
6
4
|
FACEBOOK_APP_ID = '112157085578818'
|
5
|
+
FACEBOOK_APP_SECRET = '41f0e7ee8b6501dca1610de9926477c4'
|
7
6
|
FACEBOOK_OAUTH_REDIRECT_URI = 'http://www.example.com/oauth_redirect'
|
8
7
|
FACEBOOK_OAUTH_CODE = '2.0eXhebBSDTpoe08qIaocNQ__.3600.1273748400-503153225|caqygNb5Gobz6lpj3HXjlthDxds.'
|
9
8
|
FACEBOOK_OAUTH_ACCESS_TOKEN = "115187085478818|rDIv_5zgjCSM_fWBv5Z-lQr5gFk."
|
@@ -11,7 +10,7 @@ class ClientTest < Test::Unit::TestCase
|
|
11
10
|
|
12
11
|
def fb_client
|
13
12
|
FGraph::Client.new(
|
14
|
-
:client_id =>
|
13
|
+
:client_id => FACEBOOK_APP_ID,
|
15
14
|
:client_secret => FACEBOOK_APP_SECRET,
|
16
15
|
:access_token => FACEBOOK_OAUTH_ACCESS_TOKEN
|
17
16
|
)
|
@@ -19,7 +18,7 @@ class ClientTest < Test::Unit::TestCase
|
|
19
18
|
|
20
19
|
context "FGraph::Client#oauth_authorize_url" do
|
21
20
|
should "call FGraph.oauth_authorize_url with :client_id option" do
|
22
|
-
FGraph.expects(:oauth_authorize_url).with(
|
21
|
+
FGraph.expects(:oauth_authorize_url).with(FACEBOOK_APP_ID, FACEBOOK_OAUTH_REDIRECT_URI, {
|
23
22
|
:scope => 'publish_stream'
|
24
23
|
})
|
25
24
|
fb_client.oauth_authorize_url(FACEBOOK_OAUTH_REDIRECT_URI, :scope => 'publish_stream')
|
@@ -28,7 +27,7 @@ class ClientTest < Test::Unit::TestCase
|
|
28
27
|
|
29
28
|
context "FGraph::Client#oauth_access_token" do
|
30
29
|
should "call FGraph.oauth_access_token with :client_id and :client_secret options" do
|
31
|
-
FGraph.expects(:oauth_access_token).with(
|
30
|
+
FGraph.expects(:oauth_access_token).with(FACEBOOK_APP_ID, FACEBOOK_APP_SECRET,
|
32
31
|
:redirect_uri => FACEBOOK_OAUTH_REDIRECT_URI, :code => FACEBOOK_OAUTH_CODE)
|
33
32
|
|
34
33
|
fb_client.oauth_access_token(FACEBOOK_OAUTH_REDIRECT_URI, FACEBOOK_OAUTH_CODE)
|
@@ -135,9 +134,8 @@ class ClientTest < Test::Unit::TestCase
|
|
135
134
|
end
|
136
135
|
|
137
136
|
context "FGraph::Client#insights" do
|
138
|
-
should "auto populate :
|
137
|
+
should "auto populate :client_id and :oauth_app_access_token" do
|
139
138
|
client = fb_client
|
140
|
-
client.options[:app_id] = FACEBOOK_APP_ID
|
141
139
|
client.options[:app_access_token] = FACEBOOK_OAUTH_APP_ACCESS_TOKEN
|
142
140
|
|
143
141
|
FGraph.expects(:insights).with(FACEBOOK_APP_ID, FACEBOOK_OAUTH_APP_ACCESS_TOKEN, {})
|
@@ -146,9 +144,8 @@ class ClientTest < Test::Unit::TestCase
|
|
146
144
|
|
147
145
|
should "auto retrieve :oauth_app_access_token option" do
|
148
146
|
client = fb_client
|
149
|
-
|
150
147
|
client.expects(:oauth_app_access_token).returns(FACEBOOK_OAUTH_APP_ACCESS_TOKEN)
|
151
|
-
FGraph.expects(:insights).with(
|
148
|
+
FGraph.expects(:insights).with(FACEBOOK_APP_ID, FACEBOOK_OAUTH_APP_ACCESS_TOKEN, {
|
152
149
|
:metric_path => 'application_api_calls/day'
|
153
150
|
})
|
154
151
|
client.insights(:metric_path => 'application_api_calls/day')
|
data/test/fgraph_test.rb
CHANGED
@@ -1,9 +1,8 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
3
|
class FGraphTest < Test::Unit::TestCase
|
4
|
-
FACEBOOK_API_KEY = '878116c4a4b79f25e4beb97ab096cc92'
|
5
|
-
FACEBOOK_APP_SECRET = '41f0e7ee8b6501dca1610de9926477c4'
|
6
4
|
FACEBOOK_APP_ID = '112157085578818'
|
5
|
+
FACEBOOK_APP_SECRET = '41f0e7ee8b6501dca1610de9926477c4'
|
7
6
|
FACEBOOK_OAUTH_REDIRECT_URI = 'http://www.example.com/oauth_redirect'
|
8
7
|
FACEBOOK_OAUTH_CODE = '2.0eXhebBSDTpoe08qIaocNQ__.3600.1273748400-503153225|caqygNb5Gobz6lpj3HXjlthDxds.'
|
9
8
|
FACEBOOK_OAUTH_ACCESS_TOKEN = "115187085478818|rDIv_5zgjCSM_fWBv5Z-lQr5gFk."
|
@@ -56,21 +55,21 @@ class FGraphTest < Test::Unit::TestCase
|
|
56
55
|
context "FGraph.oauth_authorize_url" do
|
57
56
|
should "should call format_url with appropriate hash" do
|
58
57
|
FGraph.expects(:format_url).with('/oauth/authorize', {
|
59
|
-
:client_id =>
|
58
|
+
:client_id => FACEBOOK_APP_ID,
|
60
59
|
:redirect_uri => FACEBOOK_OAUTH_REDIRECT_URI
|
61
60
|
})
|
62
61
|
|
63
|
-
FGraph.oauth_authorize_url(
|
62
|
+
FGraph.oauth_authorize_url(FACEBOOK_APP_ID, FACEBOOK_OAUTH_REDIRECT_URI)
|
64
63
|
end
|
65
64
|
|
66
65
|
should "should call format_url with options" do
|
67
66
|
FGraph.expects(:format_url).with('/oauth/authorize', {
|
68
|
-
:client_id =>
|
67
|
+
:client_id => FACEBOOK_APP_ID,
|
69
68
|
:redirect_uri => FACEBOOK_OAUTH_REDIRECT_URI,
|
70
69
|
:scope => 'publish_stream'
|
71
70
|
})
|
72
71
|
|
73
|
-
FGraph.oauth_authorize_url(
|
72
|
+
FGraph.oauth_authorize_url(FACEBOOK_APP_ID, FACEBOOK_OAUTH_REDIRECT_URI,
|
74
73
|
:scope => 'publish_stream')
|
75
74
|
end
|
76
75
|
end
|
@@ -78,13 +77,13 @@ class FGraphTest < Test::Unit::TestCase
|
|
78
77
|
context "FGraph.oauth_access_token" do
|
79
78
|
should "return user access token and expires" do
|
80
79
|
stub_get(FGraph.format_url('/oauth/access_token', {
|
81
|
-
:client_id =>
|
80
|
+
:client_id => FACEBOOK_APP_ID,
|
82
81
|
:client_secret => FACEBOOK_APP_SECRET,
|
83
82
|
:redirect_uri => FACEBOOK_OAUTH_REDIRECT_URI,
|
84
83
|
:code => FACEBOOK_OAUTH_CODE
|
85
84
|
}), 'access_token.txt')
|
86
85
|
|
87
|
-
token = FGraph.oauth_access_token(
|
86
|
+
token = FGraph.oauth_access_token(FACEBOOK_APP_ID, FACEBOOK_APP_SECRET,
|
88
87
|
:redirect_uri => FACEBOOK_OAUTH_REDIRECT_URI,
|
89
88
|
:code => FACEBOOK_OAUTH_CODE)
|
90
89
|
|
@@ -141,7 +140,7 @@ class FGraphTest < Test::Unit::TestCase
|
|
141
140
|
end
|
142
141
|
|
143
142
|
context "Facebook.insights" do
|
144
|
-
should "call perform_get('/[
|
143
|
+
should "call perform_get('/[client_id]/insights')" do
|
145
144
|
FGraph.expects(:perform_get).with("/#{FACEBOOK_APP_ID}/insights", {
|
146
145
|
:access_token => FACEBOOK_OAUTH_APP_ACCESS_TOKEN
|
147
146
|
})
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
8
|
+
- 4
|
9
|
+
version: 0.1.4
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Herryanto Siatono
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-05-
|
17
|
+
date: 2010-05-22 00:00:00 +08:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -105,6 +105,7 @@ files:
|
|
105
105
|
- examples/publish_feed.rb
|
106
106
|
- lib/fgraph.rb
|
107
107
|
- lib/fgraph/client.rb
|
108
|
+
- lib/tasks/fgraph.rake
|
108
109
|
- test/fgraph/client_test.rb
|
109
110
|
- test/fgraph_test.rb
|
110
111
|
- test/fixtures/access_token.txt
|