fb_graph 2.2.6 → 2.3.0

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.
Files changed (83) hide show
  1. data/Gemfile.lock +1 -1
  2. data/VERSION +1 -1
  3. data/lib/fb_graph/connections/accounts.rb +3 -3
  4. data/lib/fb_graph/connections/achievements.rb +2 -2
  5. data/lib/fb_graph/connections/activities.rb +3 -3
  6. data/lib/fb_graph/connections/ad_accounts.rb +3 -3
  7. data/lib/fb_graph/connections/ad_campaign_stats.rb +3 -3
  8. data/lib/fb_graph/connections/ad_campaigns.rb +6 -6
  9. data/lib/fb_graph/connections/ad_connection_objects.rb +3 -3
  10. data/lib/fb_graph/connections/ad_group_stats.rb +3 -3
  11. data/lib/fb_graph/connections/ad_groups.rb +6 -6
  12. data/lib/fb_graph/connections/ad_previews.rb +2 -2
  13. data/lib/fb_graph/connections/albums.rb +6 -6
  14. data/lib/fb_graph/connections/app_requests.rb +5 -5
  15. data/lib/fb_graph/connections/attending.rb +4 -4
  16. data/lib/fb_graph/connections/blocked.rb +1 -1
  17. data/lib/fb_graph/connections/books.rb +3 -3
  18. data/lib/fb_graph/connections/broad_targeting_categories.rb +3 -3
  19. data/lib/fb_graph/connections/checkins.rb +6 -6
  20. data/lib/fb_graph/connections/comments.rb +6 -6
  21. data/lib/fb_graph/connections/declined.rb +4 -4
  22. data/lib/fb_graph/connections/docs.rb +3 -3
  23. data/lib/fb_graph/connections/events.rb +6 -6
  24. data/lib/fb_graph/connections/family.rb +3 -3
  25. data/lib/fb_graph/connections/feed.rb +6 -6
  26. data/lib/fb_graph/connections/former_participants.rb +3 -3
  27. data/lib/fb_graph/connections/friend_lists.rb +5 -5
  28. data/lib/fb_graph/connections/friend_requests.rb +1 -1
  29. data/lib/fb_graph/connections/friends.rb +3 -3
  30. data/lib/fb_graph/connections/games.rb +3 -3
  31. data/lib/fb_graph/connections/groups.rb +3 -3
  32. data/lib/fb_graph/connections/home.rb +3 -3
  33. data/lib/fb_graph/connections/inbox.rb +5 -5
  34. data/lib/fb_graph/connections/insights.rb +7 -3
  35. data/lib/fb_graph/connections/interests.rb +3 -3
  36. data/lib/fb_graph/connections/invited.rb +3 -3
  37. data/lib/fb_graph/connections/likes.rb +5 -5
  38. data/lib/fb_graph/connections/links.rb +6 -6
  39. data/lib/fb_graph/connections/maybe.rb +4 -4
  40. data/lib/fb_graph/connections/members.rb +3 -3
  41. data/lib/fb_graph/connections/messages.rb +3 -3
  42. data/lib/fb_graph/connections/movies.rb +3 -3
  43. data/lib/fb_graph/connections/music.rb +3 -3
  44. data/lib/fb_graph/connections/mutual_friends.rb +6 -2
  45. data/lib/fb_graph/connections/noreply.rb +3 -3
  46. data/lib/fb_graph/connections/notes.rb +6 -6
  47. data/lib/fb_graph/connections/notifications.rb +14 -0
  48. data/lib/fb_graph/connections/outbox.rb +5 -5
  49. data/lib/fb_graph/connections/participants.rb +3 -3
  50. data/lib/fb_graph/connections/payments.rb +3 -3
  51. data/lib/fb_graph/connections/photos.rb +6 -6
  52. data/lib/fb_graph/connections/pokes.rb +2 -2
  53. data/lib/fb_graph/connections/posts.rb +3 -3
  54. data/lib/fb_graph/connections/question_options.rb +6 -6
  55. data/lib/fb_graph/connections/questions.rb +8 -0
  56. data/lib/fb_graph/connections/reach_estimates.rb +2 -2
  57. data/lib/fb_graph/connections/reviews.rb +3 -3
  58. data/lib/fb_graph/connections/senders.rb +3 -3
  59. data/lib/fb_graph/connections/statuses.rb +3 -3
  60. data/lib/fb_graph/connections/subscriptions.rb +4 -4
  61. data/lib/fb_graph/connections/tabs.rb +3 -3
  62. data/lib/fb_graph/connections/tagged.rb +3 -3
  63. data/lib/fb_graph/connections/tags.rb +3 -3
  64. data/lib/fb_graph/connections/television.rb +3 -3
  65. data/lib/fb_graph/connections/test_users.rb +4 -4
  66. data/lib/fb_graph/connections/threads.rb +3 -3
  67. data/lib/fb_graph/connections/user_achievements.rb +2 -2
  68. data/lib/fb_graph/connections/user_likes.rb +3 -3
  69. data/lib/fb_graph/connections/videos.rb +6 -6
  70. data/lib/fb_graph/connections/votes.rb +1 -1
  71. data/lib/fb_graph/node.rb +1 -2
  72. data/lib/fb_graph/notification.rb +32 -0
  73. data/lib/fb_graph/question.rb +3 -1
  74. data/lib/fb_graph/user.rb +1 -0
  75. data/lib/fb_graph.rb +1 -0
  76. data/spec/fb_graph/connections/notifications_spec.rb +16 -0
  77. data/spec/fb_graph/connections/question_options_spec.rb +1 -1
  78. data/spec/fb_graph/connections/questions_spec.rb +25 -5
  79. data/spec/fb_graph/connections/reach_estimates_spec.rb +3 -1
  80. data/spec/fb_graph/notification_spec.rb +59 -0
  81. data/spec/mock_json/users/notifications/all.json +407 -0
  82. data/spec/mock_json/users/questions/created.json +1 -0
  83. metadata +26 -16
@@ -2,19 +2,19 @@ module FbGraph
2
2
  module Connections
3
3
  module Videos
4
4
  def videos(options = {})
5
- videos = self.connection(:videos, options)
5
+ videos = self.connection :videos, options
6
6
  videos.map! do |video|
7
- Video.new(video[:id], video.merge(
7
+ Video.new video[:id], video.merge(
8
8
  :access_token => options[:access_token] || self.access_token
9
- ))
9
+ )
10
10
  end
11
11
  end
12
12
 
13
13
  def video!(options = {})
14
- video = post(options.merge(:connection => :videos))
15
- Video.new(video[:id], options.merge(video).merge(
14
+ video = post options.merge(:connection => :videos)
15
+ Video.new video[:id], options.merge(video).merge(
16
16
  :access_token => options[:access_token] || self.access_token
17
- ))
17
+ )
18
18
  end
19
19
  end
20
20
  end
@@ -2,7 +2,7 @@ module FbGraph
2
2
  module Connections
3
3
  module Votes
4
4
  def votes(options = {})
5
- self.connection(:votes, options)
5
+ self.connection :votes, options
6
6
  end
7
7
  end
8
8
  end
data/lib/fb_graph/node.rb CHANGED
@@ -86,8 +86,7 @@ module FbGraph
86
86
  def cache_collections(attributes, *connections)
87
87
  if (attributes.keys - [:access_token]).present?
88
88
  connections.each do |connection|
89
- attribute_key, connection = connection.to_a.flatten if connection.is_a?(Hash)
90
- @cached_collections[connection] = attributes[attribute_key || connection]
89
+ @cached_collections[connection] = attributes[connection]
91
90
  end
92
91
  end
93
92
  end
@@ -0,0 +1,32 @@
1
+ module FbGraph
2
+ class Notification < Node
3
+ attr_accessor :application, :from, :to, :title, :message, :link, :unread, :created_time, :updated_time
4
+
5
+ def initialize(identifier, attributes = {})
6
+ super
7
+ @title = attributes[:title]
8
+ @message = attributes[:message]
9
+ @link = attributes[:link]
10
+ @unread = attributes[:unread] == 1
11
+ if (application = attributes[:application])
12
+ @application = Application.new(application[:id], application)
13
+ end
14
+ if (from = attributes[:from])
15
+ @from = User.new(from[:id], from)
16
+ end
17
+ if (to = attributes[:to])
18
+ @to = User.new(to[:id], to)
19
+ end
20
+ if attributes[:created_time]
21
+ @created_time = Time.parse(attributes[:created_time]).utc
22
+ end
23
+ if attributes[:updated_time]
24
+ @updated_time = Time.parse(attributes[:updated_time]).utc
25
+ end
26
+ end
27
+
28
+ def read!(options = {})
29
+ post options.merge(:unread => false)
30
+ end
31
+ end
32
+ end
@@ -18,7 +18,9 @@ module FbGraph
18
18
  end
19
19
 
20
20
  # cached connection
21
- cache_collection attributes, :options => :question_options
21
+ if attributes[:options]
22
+ cache_collection attributes, :options
23
+ end
22
24
  end
23
25
  end
24
26
  end
data/lib/fb_graph/user.rb CHANGED
@@ -24,6 +24,7 @@ module FbGraph
24
24
  include Connections::Music
25
25
  include Connections::MutualFriends
26
26
  include Connections::Notes
27
+ include Connections::Notifications
27
28
  include Connections::Outbox
28
29
  include Connections::Payments
29
30
  include Connections::Permissions
data/lib/fb_graph.rb CHANGED
@@ -92,6 +92,7 @@ require 'fb_graph/insight'
92
92
  require 'fb_graph/link'
93
93
  require 'fb_graph/message'
94
94
  require 'fb_graph/note'
95
+ require 'fb_graph/notification'
95
96
  require 'fb_graph/order'
96
97
  require 'fb_graph/page'
97
98
  require 'fb_graph/photo'
@@ -0,0 +1,16 @@
1
+ require 'spec_helper'
2
+
3
+ describe FbGraph::Connections::Notifications do
4
+ describe '#notifications' do
5
+ it 'should return notifications as FbGraph::Notification' do
6
+ mock_graph :get, 'me/notifications', 'users/notifications/all', :params => {
7
+ :include_read => 'true'
8
+ }, :access_token => 'access_token' do
9
+ notifications = FbGraph::User.me('access_token').notifications(:include_read => true)
10
+ notifications.each do |notification|
11
+ notification.should be_instance_of FbGraph::Notification
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -3,7 +3,7 @@ require 'spec_helper'
3
3
  describe FbGraph::Connections::QuestionOptions, '#options' do
4
4
  context 'when included by FbGraph::Question' do
5
5
  it 'should return options as FbGraph::QuestionOption' do
6
- mock_graph :get, '12345/question_options', 'questions/options/matake_private', :access_token => 'access_token' do
6
+ mock_graph :get, '12345/options', 'questions/options/matake_private', :access_token => 'access_token' do
7
7
  question_options = FbGraph::Question.new('12345', :access_token => 'access_token').question_options
8
8
  question_options.each do |question_option|
9
9
  question_option.should be_instance_of(FbGraph::QuestionOption)
@@ -1,12 +1,32 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe FbGraph::Connections::Questions do
4
- it 'should return an Array of Questions' do
5
- mock_graph :get, 'me/questions', 'users/questions/sample', :access_token => 'access_token' do
6
- questions = FbGraph::User.me('access_token').questions
7
- questions.class.should == FbGraph::Connection
8
- questions.each do |question|
4
+ describe '#questions' do
5
+ it 'should return an Array of Questions' do
6
+ mock_graph :get, 'me/questions', 'users/questions/sample', :access_token => 'access_token' do
7
+ questions = FbGraph::User.me('access_token').questions
8
+ questions.class.should == FbGraph::Connection
9
+ questions.each do |question|
10
+ question.should be_instance_of(FbGraph::Question)
11
+ end
12
+ end
13
+ end
14
+ end
15
+
16
+ describe '#question!' do
17
+ it 'should return FbGraph::Question without cached question_options collection' do
18
+ mock_graph :post, 'me/questions', 'users/questions/created', :params => {
19
+ :question => 'Do you like fb_graph?',
20
+ :options => ['Yes', 'Yes!', 'Yes!!'].to_json
21
+ }, :access_token => 'access_token' do
22
+ question = FbGraph::User.me('access_token').question!(
23
+ :question => 'Do you like fb_graph?',
24
+ :options => ['Yes', 'Yes!', 'Yes!!']
25
+ )
9
26
  question.should be_instance_of(FbGraph::Question)
27
+ expect do
28
+ question.question_options
29
+ end.should request_to "#{question.identifier}/options"
10
30
  end
11
31
  end
12
32
  end
@@ -4,7 +4,9 @@ describe FbGraph::Connections::ReachEstimates, '#reach_estimates' do
4
4
  context 'when included by FbGraph::AdAccount' do
5
5
  context 'when access_token is given' do
6
6
  it 'should return reach_estimates as FbGraph::ReachEstimate' do
7
- mock_graph :get, 'act_123456789/reachestimate', 'ad_accounts/reach_estimates/test_reach_estimates', :params => {:targeting_spec => {:country => ["US"]}.to_json}, :access_token => 'access_token' do
7
+ mock_graph :get, 'act_123456789/reachestimate', 'ad_accounts/reach_estimates/test_reach_estimates', :params => {
8
+ :targeting_spec => {:country => ["US"]}.to_json
9
+ }, :access_token => 'access_token' do
8
10
  ad_account = FbGraph::AdAccount.new('act_123456789')
9
11
  reach_estimate = ad_account.reach_estimates(:access_token => 'access_token', :targeting_spec => {:country => ["US"]})
10
12
  reach_estimate.should be_instance_of(FbGraph::ReachEstimate)
@@ -0,0 +1,59 @@
1
+ require 'spec_helper'
2
+
3
+ describe FbGraph::Notification do
4
+ let :attributes do
5
+ {
6
+ :id => 'notif_579612276_139149416',
7
+ :title => 'Nobuhiro Nakajima commented on your status.',
8
+ :message => 'Actual Comment Here',
9
+ :link => 'http://www.facebook.com/matake/posts/10150574049082277',
10
+ :unread => 0,
11
+ :application => {
12
+ :id => '19675640871',
13
+ :name => 'Feed Comments'
14
+ },
15
+ :from => {
16
+ :id => '1260873121',
17
+ :name => 'Nobuhiro Nakajima'
18
+ },
19
+ :to => {
20
+ :id => '579612276',
21
+ :name => 'Nov Matake'
22
+ },
23
+ :created_time => '2012-01-25T04:01:09+0000',
24
+ :updated_time => '2012-01-25T04:01:20+0000'
25
+ }
26
+ end
27
+
28
+ it 'should setup all supported attributes' do
29
+ notification = FbGraph::Notification.new(attributes[:id], attributes)
30
+ notification.identifier.should == attributes[:id]
31
+ notification.title.should == attributes[:title]
32
+ notification.message.should == attributes[:message]
33
+ notification.link.should == attributes[:link]
34
+ notification.unread.should be_false
35
+ notification.application.should == FbGraph::Application.new(
36
+ attributes[:application][:id], attributes[:application]
37
+ )
38
+ notification.from.should == FbGraph::User.new(
39
+ attributes[:from][:id], attributes[:from]
40
+ )
41
+ notification.to.should == FbGraph::User.new(
42
+ attributes[:to][:id], attributes[:to]
43
+ )
44
+ notification.created_time.should == Time.parse('2012-01-25T04:01:09+0000')
45
+ notification.updated_time.should == Time.parse('2012-01-25T04:01:20+0000')
46
+ end
47
+
48
+ describe '#read!' do
49
+ it 'should update unread to read' do
50
+ mock_graph :post, 'notification_id', 'true', :params => {
51
+ :unread => 'false'
52
+ }, :access_token => 'access_token' do
53
+ FbGraph::Notification.new('notification_id').read!(
54
+ :access_token => 'access_token'
55
+ ).should be_true
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,407 @@
1
+ {
2
+ "data": [{
3
+ "id": "notif_579612276_139149416",
4
+ "from": {
5
+ "name": "Nobuhiro Nakajima",
6
+ "id": "1260873121"
7
+ },
8
+ "to": {
9
+ "name": "Nov Matake",
10
+ "id": "579612276"
11
+ },
12
+ "created_time": "2012-01-25T04:01:09+0000",
13
+ "updated_time": "2012-01-25T04:01:09+0000",
14
+ "title": "Nobuhiro Nakajima and Ryohei Shima commented on your status.",
15
+ "message": "\u304a\u3002\u3042\u308a\u304c\u3068\u3067\u3059\u3002\u3053\u3063\u3061\u3082\u3046\u3056\u304f\u306a\u3063\u305f\u3089\u975e\u8868\u793a\u306b\u3057\u307e\u3059\u3002(^^;",
16
+ "link": "http:\/\/www.facebook.com\/matake\/posts\/10150574049082277",
17
+ "application": {
18
+ "name": "Feed Comments",
19
+ "id": "19675640871"
20
+ },
21
+ "unread": 0
22
+ },
23
+ {
24
+ "id": "notif_579612276_139149544",
25
+ "from": {
26
+ "name": "Ryohei Shima",
27
+ "id": "100001675153551"
28
+ },
29
+ "to": {
30
+ "name": "Nov Matake",
31
+ "id": "579612276"
32
+ },
33
+ "created_time": "2012-01-25T04:00:17+0000",
34
+ "updated_time": "2012-01-25T04:00:17+0000",
35
+ "title": "Ryohei Shima likes your comment: \"\u3044\u3084\u3001\u3082\u3061\u308d\u3093\u56de\u7b54\u3057\u3066\u3044\u305f\u3060\u3044\u3066\u5168\u7136\u3044\u3044\u3093\u3067\u3059\u3088\u3001\u6d88\u3059\u3051\u3069w\"",
36
+ "link": "http:\/\/www.facebook.com\/matake\/posts\/10150574049082277",
37
+ "application": {
38
+ "name": "Likes",
39
+ "canvas_name": "awesomeprops",
40
+ "namespace": "awesomeprops",
41
+ "id": "2409997254"
42
+ },
43
+ "unread": 0
44
+ },
45
+ {
46
+ "id": "notif_579612276_139149426",
47
+ "from": {
48
+ "name": "Shinichi Tomita",
49
+ "id": "500093930"
50
+ },
51
+ "to": {
52
+ "name": "Nov Matake",
53
+ "id": "579612276"
54
+ },
55
+ "created_time": "2012-01-25T03:58:47+0000",
56
+ "updated_time": "2012-01-25T03:58:47+0000",
57
+ "title": "Shinichi Tomita commented on your status.",
58
+ "message": "\u6d88\u3055\u308c\u305f\u30fc",
59
+ "link": "http:\/\/www.facebook.com\/matake\/posts\/10150574049302277",
60
+ "application": {
61
+ "name": "Feed Comments",
62
+ "id": "19675640871"
63
+ },
64
+ "unread": 0
65
+ },
66
+ {
67
+ "id": "notif_579612276_139149222",
68
+ "from": {
69
+ "name": "Nobuhiro Nakajima",
70
+ "id": "1260873121"
71
+ },
72
+ "to": {
73
+ "name": "Nov Matake",
74
+ "id": "579612276"
75
+ },
76
+ "created_time": "2012-01-25T03:58:29+0000",
77
+ "updated_time": "2012-01-25T03:58:29+0000",
78
+ "title": "Nobuhiro Nakajima and Shinichi Tomita answered Graph API\u3067Questions\u6295\u7a3f\u3067\u304d\u308b\u306e\u77e5\u3063\u3066\u305f\uff1f",
79
+ "link": "http:\/\/www.facebook.com\/questions\/10150574044027277\/",
80
+ "application": {
81
+ "name": "Questions",
82
+ "id": "10150110253435258"
83
+ },
84
+ "unread": 0
85
+ },
86
+ {
87
+ "id": "notif_579612276_139149366",
88
+ "from": {
89
+ "name": "Shinichi Tomita",
90
+ "id": "500093930"
91
+ },
92
+ "to": {
93
+ "name": "Nov Matake",
94
+ "id": "579612276"
95
+ },
96
+ "created_time": "2012-01-25T03:58:06+0000",
97
+ "updated_time": "2012-01-25T03:58:06+0000",
98
+ "title": "Shinichi Tomita likes your status.",
99
+ "link": "http:\/\/www.facebook.com\/matake\/posts\/10150574049302277",
100
+ "application": {
101
+ "name": "Likes",
102
+ "canvas_name": "awesomeprops",
103
+ "namespace": "awesomeprops",
104
+ "id": "2409997254"
105
+ },
106
+ "unread": 0
107
+ },
108
+ {
109
+ "id": "notif_579612276_139147636",
110
+ "from": {
111
+ "name": "Hiroshi Arakuta",
112
+ "id": "100003040698717"
113
+ },
114
+ "to": {
115
+ "name": "Nov Matake",
116
+ "id": "579612276"
117
+ },
118
+ "created_time": "2012-01-25T03:40:42+0000",
119
+ "updated_time": "2012-01-25T03:40:42+0000",
120
+ "title": "Hiroshi Arakuta answered Graph API\u3067Questions\u6295\u7a3f\u3067\u304d\u308b\u306e\u77e5\u3063\u3066\u305f\uff1f",
121
+ "link": "http:\/\/www.facebook.com\/questions\/10150573962207277\/",
122
+ "application": {
123
+ "name": "Questions",
124
+ "id": "10150110253435258"
125
+ },
126
+ "unread": 0
127
+ },
128
+ {
129
+ "id": "notif_579612276_139147046",
130
+ "from": {
131
+ "name": "Hayashi Lef Tatsuya",
132
+ "id": "772689824"
133
+ },
134
+ "to": {
135
+ "name": "Nov Matake",
136
+ "id": "579612276"
137
+ },
138
+ "created_time": "2012-01-25T03:34:37+0000",
139
+ "updated_time": "2012-01-25T03:34:37+0000",
140
+ "title": "Hayashi Lef Tatsuya answered Graph API\u3067Questions\u6295\u7a3f\u3067\u304d\u308b\u306e\u77e5\u3063\u3066\u305f\uff1f",
141
+ "link": "http:\/\/www.facebook.com\/questions\/10150574002602277\/",
142
+ "application": {
143
+ "name": "Questions",
144
+ "id": "10150110253435258"
145
+ },
146
+ "unread": 0
147
+ },
148
+ {
149
+ "id": "notif_579612276_139144860",
150
+ "from": {
151
+ "name": "Ryohei Shima",
152
+ "id": "100001675153551"
153
+ },
154
+ "to": {
155
+ "name": "Nov Matake",
156
+ "id": "579612276"
157
+ },
158
+ "created_time": "2012-01-25T03:09:46+0000",
159
+ "updated_time": "2012-01-25T03:09:46+0000",
160
+ "title": "Ryohei Shima answered Graph API\u3067Questions\u6295\u7a3f\u3067\u304d\u308b\u306e\u77e5\u3063\u3066\u305f\uff1f",
161
+ "link": "http:\/\/www.facebook.com\/questions\/10150573963657277\/",
162
+ "application": {
163
+ "name": "Questions",
164
+ "id": "10150110253435258"
165
+ },
166
+ "unread": 0
167
+ },
168
+ {
169
+ "id": "notif_579612276_139063002",
170
+ "from": {
171
+ "name": "Michael B. Jones",
172
+ "id": "503057855"
173
+ },
174
+ "to": {
175
+ "name": "Nov Matake",
176
+ "id": "579612276"
177
+ },
178
+ "created_time": "2012-01-24T16:00:48+0000",
179
+ "updated_time": "2012-01-24T16:00:48+0000",
180
+ "title": "Michael B. Jones accepted your friend request. Write on Michael's Wall.",
181
+ "link": "http:\/\/www.facebook.com\/michael.b.jones",
182
+ "application": {
183
+ "name": "Friends",
184
+ "id": "2356318349"
185
+ },
186
+ "unread": 0
187
+ },
188
+ {
189
+ "id": "notif_579612276_139004195",
190
+ "from": {
191
+ "name": "Sami Maekawa",
192
+ "id": "1778694105"
193
+ },
194
+ "to": {
195
+ "name": "Nov Matake",
196
+ "id": "579612276"
197
+ },
198
+ "created_time": "2012-01-24T14:01:57+0000",
199
+ "updated_time": "2012-01-24T14:01:57+0000",
200
+ "title": "Sami Maekawa, Masaru Kurahayashi, and 2 other people like your post.",
201
+ "link": "http:\/\/www.facebook.com\/permalink.php?story_fbid=374892015860384&id=140478125968442",
202
+ "application": {
203
+ "name": "Likes",
204
+ "canvas_name": "awesomeprops",
205
+ "namespace": "awesomeprops",
206
+ "id": "2409997254"
207
+ },
208
+ "unread": 0
209
+ },
210
+ {
211
+ "id": "notif_579612276_139034136",
212
+ "from": {
213
+ "name": "OAuth.jp",
214
+ "category": "Community organization",
215
+ "id": "140478125968442"
216
+ },
217
+ "to": {
218
+ "name": "Nov Matake",
219
+ "id": "579612276"
220
+ },
221
+ "created_time": "2012-01-24T11:07:55+0000",
222
+ "updated_time": "2012-01-24T11:07:55+0000",
223
+ "title": "OAuth.jp has new activity: 10 likes and 129 views.",
224
+ "link": "http:\/\/www.facebook.com\/OAuth.jp",
225
+ "application": {
226
+ "name": "Pages",
227
+ "id": "2530096808"
228
+ },
229
+ "unread": 0
230
+ },
231
+ {
232
+ "id": "notif_579612276_138823877",
233
+ "from": {
234
+ "name": "Masahiro Kiura",
235
+ "id": "777639200"
236
+ },
237
+ "to": {
238
+ "name": "Nov Matake",
239
+ "id": "579612276"
240
+ },
241
+ "created_time": "2012-01-22T21:58:57+0000",
242
+ "updated_time": "2012-01-22T21:58:57+0000",
243
+ "title": "Masahiro Kiura likes your post.",
244
+ "link": "http:\/\/www.facebook.com\/permalink.php?story_fbid=10150567128202277&id=579612276",
245
+ "application": {
246
+ "name": "Likes",
247
+ "canvas_name": "awesomeprops",
248
+ "namespace": "awesomeprops",
249
+ "id": "2409997254"
250
+ },
251
+ "unread": 0
252
+ },
253
+ {
254
+ "id": "notif_579612276_138739432",
255
+ "from": {
256
+ "name": "Ryohei Shima",
257
+ "id": "100001675153551"
258
+ },
259
+ "to": {
260
+ "name": "Nov Matake",
261
+ "id": "579612276"
262
+ },
263
+ "created_time": "2012-01-22T09:00:28+0000",
264
+ "updated_time": "2012-01-22T09:00:28+0000",
265
+ "title": "Ryohei Shima likes your post.",
266
+ "link": "http:\/\/www.facebook.com\/permalink.php?story_fbid=10150564288317277&id=579612276",
267
+ "application": {
268
+ "name": "Likes",
269
+ "canvas_name": "awesomeprops",
270
+ "namespace": "awesomeprops",
271
+ "id": "2409997254"
272
+ },
273
+ "unread": 0
274
+ },
275
+ {
276
+ "id": "notif_579612276_138453358",
277
+ "from": {
278
+ "name": "Masashi Tokuda",
279
+ "id": "1209934028"
280
+ },
281
+ "to": {
282
+ "name": "Nov Matake",
283
+ "id": "579612276"
284
+ },
285
+ "created_time": "2012-01-20T01:39:56+0000",
286
+ "updated_time": "2012-01-20T01:39:56+0000",
287
+ "title": "Masashi Tokuda wrote on the Wall for \u30c9\u30ea\u30b3\u30e0OB\u65b0\u5e74\u4f1a\u3000DADA\u2605NIGHT\uff08\u8981\u8a73\u7d30\u78ba\u8a8d\uff09.",
288
+ "message": "\u5225\u4ef6\u3067\u8abf\u6574\u304c\u3067\u304d\u305a\u2026\u2026\u3002\u6b8b\u5ff5\u3067\u3059\u3002",
289
+ "link": "http:\/\/www.facebook.com\/event.php?eid=213987668680394",
290
+ "application": {
291
+ "name": "Events",
292
+ "id": "2344061033"
293
+ },
294
+ "unread": 0
295
+ },
296
+ {
297
+ "id": "notif_579612276_138361067",
298
+ "from": {
299
+ "name": "Ryohei Shima",
300
+ "id": "100001675153551"
301
+ },
302
+ "to": {
303
+ "name": "Nov Matake",
304
+ "id": "579612276"
305
+ },
306
+ "created_time": "2012-01-19T11:52:26+0000",
307
+ "updated_time": "2012-01-19T11:52:26+0000",
308
+ "title": "Ryohei Shima likes your post.",
309
+ "link": "http:\/\/www.facebook.com\/permalink.php?story_fbid=10150559768012277&id=579612276",
310
+ "application": {
311
+ "name": "Likes",
312
+ "canvas_name": "awesomeprops",
313
+ "namespace": "awesomeprops",
314
+ "id": "2409997254"
315
+ },
316
+ "unread": 0
317
+ },
318
+ {
319
+ "id": "notif_579612276_138354722",
320
+ "from": {
321
+ "name": "Xavier Bensky",
322
+ "id": "632557021"
323
+ },
324
+ "to": {
325
+ "name": "Nov Matake",
326
+ "id": "579612276"
327
+ },
328
+ "created_time": "2012-01-19T10:26:35+0000",
329
+ "updated_time": "2012-01-19T10:26:35+0000",
330
+ "title": "Xavier Bensky asked you \"Bakery Vixens\" is an anagram for Xavier...",
331
+ "link": "http:\/\/www.facebook.com\/questions\/10150548552987022\/",
332
+ "application": {
333
+ "name": "Questions",
334
+ "id": "10150110253435258"
335
+ },
336
+ "unread": 0
337
+ },
338
+ {
339
+ "id": "notif_579612276_138072510",
340
+ "from": {
341
+ "name": "Kim Ahlstr\u00f6m",
342
+ "id": "788861822"
343
+ },
344
+ "to": {
345
+ "name": "Nov Matake",
346
+ "id": "579612276"
347
+ },
348
+ "created_time": "2012-01-19T07:15:34+0000",
349
+ "updated_time": "2012-01-19T07:15:34+0000",
350
+ "title": "Kim Ahlstr\u00f6m, Miwa Nagamitsu, and Yumi Yahata wrote on the Wall for \u30ce\u30df\u30ab\u30a4.",
351
+ "message": "\uff18\u5b57\uff14\u660e\u3002\u30a2\u30f3\u30c7\u30eb\u30b9\u6a23\u3067\u3002",
352
+ "link": "http:\/\/www.facebook.com\/event.php?eid=362587423757662",
353
+ "application": {
354
+ "name": "Events",
355
+ "id": "2344061033"
356
+ },
357
+ "unread": 0
358
+ },
359
+ {
360
+ "id": "notif_579612276_138315023",
361
+ "from": {
362
+ "name": "Hayashi Lef Tatsuya",
363
+ "id": "772689824"
364
+ },
365
+ "to": {
366
+ "name": "Nov Matake",
367
+ "id": "579612276"
368
+ },
369
+ "created_time": "2012-01-19T01:03:35+0000",
370
+ "updated_time": "2012-01-19T01:03:35+0000",
371
+ "title": "Hayashi Lef Tatsuya likes your post.",
372
+ "link": "http:\/\/www.facebook.com\/permalink.php?story_fbid=10150558055667277&id=579612276",
373
+ "application": {
374
+ "name": "Likes",
375
+ "canvas_name": "awesomeprops",
376
+ "namespace": "awesomeprops",
377
+ "id": "2409997254"
378
+ },
379
+ "unread": 0
380
+ },
381
+ {
382
+ "id": "notif_579612276_138086432",
383
+ "from": {
384
+ "name": "Nat Sakimura",
385
+ "id": "1048138174"
386
+ },
387
+ "to": {
388
+ "name": "Nov Matake",
389
+ "id": "579612276"
390
+ },
391
+ "created_time": "2012-01-18T18:02:11+0000",
392
+ "updated_time": "2012-01-18T18:02:11+0000",
393
+ "title": "Nat Sakimura, Taizo Matsuoka, and 8 other friends wrote on the Wall for \u0040nov\u58ee\u884c\u4f1a\uff08\u3061\u3087\u3063\u3074\u308a\u9001\u5225\u4f1a\uff09.",
394
+ "message": "\u3044\u304d\u307e\u30fc\u3059\u3002",
395
+ "link": "http:\/\/www.facebook.com\/event.php?eid=210493179044417",
396
+ "application": {
397
+ "name": "Events",
398
+ "id": "2344061033"
399
+ },
400
+ "unread": 0
401
+ }],
402
+ "paging": {
403
+ "previous": "https:\/\/graph.facebook.com\/me\/notifications?include_read=true&access_token=AAAB6ATdqrnIBAAlpnYNZAiifWJmx1V3ebyJPsZCam26CqVAZBaztcPMEyUlFbRTDbrOd53PBKyiNfcsWxZCZAxnNkIfaq1L6sBXvuoWxVZCgZDZD&limit=5000&since=1327464069&__paging_token=notif_579612276_139149416&__previous=1",
404
+ "next": "https:\/\/graph.facebook.com\/me\/notifications?include_read=true&access_token=AAAB6ATdqrnIBAAlpnYNZAiifWJmx1V3ebyJPsZCam26CqVAZBaztcPMEyUlFbRTDbrOd53PBKyiNfcsWxZCZAxnNkIfaq1L6sBXvuoWxVZCgZDZD&limit=5000&until=1326909731&__paging_token=notif_579612276_138086432"
405
+ },
406
+ "summary": []
407
+ }
@@ -0,0 +1 @@
1
+ {"id":"10150574020197277"}