From 770bb6c38c95c270842011e212607f13a77c7c78 Mon Sep 17 00:00:00 2001 From: Kang-Kyu Lee Date: Sat, 4 Jan 2025 13:00:34 -0800 Subject: [PATCH 1/4] Add publish method --- lib/fb.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/fb.rb b/lib/fb.rb index 3aaf894..f168bc9 100644 --- a/lib/fb.rb +++ b/lib/fb.rb @@ -64,5 +64,15 @@ def initialize(options = {}) def thumbnail_url "https://graph.facebook.com/#{@id}/picture?width=240&height=240" end + + # Either link or message must be supplied. + # https://developers.facebook.com/docs/graph-api/reference/v21.0/page/feed#publish + def publish(options = {}) + params = { access_token: @access_token } + params[:link] = options[:link] if options[:link] + params[:message] = options[:message] if options[:message] + request = HTTPRequest.new(path: "/#{@id}/feed", method: :post, params: params) + request.run.body['id'] + end end end From 56bb4acad83f72373d7b80a25251874cd2bf05b6 Mon Sep 17 00:00:00 2001 From: Kang-Kyu Lee Date: Sat, 4 Jan 2025 14:18:17 -0800 Subject: [PATCH 2/4] Debugging temporarily --- lib/fb.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/fb.rb b/lib/fb.rb index f168bc9..5656a0d 100644 --- a/lib/fb.rb +++ b/lib/fb.rb @@ -31,6 +31,8 @@ def pages params = { access_token: @access_token } request = HTTPRequest.new path: '/me/accounts', params: params request.run.body['data'].map do |page_data| + puts page_data + puts Page.new symbolize_keys(page_data.merge access_token: @access_token) end end From 65f90add3db7ee34916aa8e3148b1a7fa37fb751 Mon Sep 17 00:00:00 2001 From: Kang-Kyu Lee Date: Sat, 4 Jan 2025 15:01:37 -0800 Subject: [PATCH 3/4] Use access_token 'PAGE' type --- lib/fb.rb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/fb.rb b/lib/fb.rb index 5656a0d..38deea3 100644 --- a/lib/fb.rb +++ b/lib/fb.rb @@ -33,7 +33,12 @@ def pages request.run.body['data'].map do |page_data| puts page_data puts - Page.new symbolize_keys(page_data.merge access_token: @access_token) + unless page_data.key?("access_token") + page_data.merge access_token: @access_token + end + puts page_data + puts + Page.new symbolize_keys(page_data) end end end @@ -61,6 +66,7 @@ def initialize(options = {}) @name = options[:name] @category = options[:category] @access_token = options[:access_token] + # end def thumbnail_url From 475bde237312d9c44edec7c17fc1a8e0c7ef2cda Mon Sep 17 00:00:00 2001 From: Kang-Kyu Lee Date: Sat, 4 Jan 2025 15:07:42 -0800 Subject: [PATCH 4/4] Get the token (page token) from /me/accounts --- lib/fb.rb | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/lib/fb.rb b/lib/fb.rb index 38deea3..6d69d48 100644 --- a/lib/fb.rb +++ b/lib/fb.rb @@ -31,13 +31,9 @@ def pages params = { access_token: @access_token } request = HTTPRequest.new path: '/me/accounts', params: params request.run.body['data'].map do |page_data| - puts page_data - puts - unless page_data.key?("access_token") - page_data.merge access_token: @access_token - end - puts page_data - puts + # unless page_data.key?("access_token") + # page_data.merge access_token: @access_token + # end Page.new symbolize_keys(page_data) end end @@ -66,7 +62,6 @@ def initialize(options = {}) @name = options[:name] @category = options[:category] @access_token = options[:access_token] - # end def thumbnail_url