Always use basic Facebook Graph API to post messages, fixes public posts. Remove unnecessary Facebook opengraph config items

This commit is contained in:
Jason Robinson 2012-11-01 23:21:22 +02:00
parent 3aef807f78
commit e974d2934f
5 changed files with 5 additions and 16 deletions

View file

@ -31,6 +31,7 @@
* Fix javascripts error in invitations facebox. [#3638](https://github.com/diaspora/diaspora/pull/3638) * Fix javascripts error in invitations facebox. [#3638](https://github.com/diaspora/diaspora/pull/3638)
* Fix css overflow problem in aspect dropdown on welcome page. [#3637](https://github.com/diaspora/diaspora/pull/3637) * Fix css overflow problem in aspect dropdown on welcome page. [#3637](https://github.com/diaspora/diaspora/pull/3637)
* Fix empty page after authenticating with other services. [#3693](https://github.com/diaspora/diaspora/pull/3693) * Fix empty page after authenticating with other services. [#3693](https://github.com/diaspora/diaspora/pull/3693)
* Fix posting public posts to Facebook. [#2882](https://github.com/diaspora/diaspora/issues/2882), [#3650](https://github.com/diaspora/diaspora/issues/3650)
# 0.0.1.2 # 0.0.1.2

View file

@ -11,21 +11,13 @@ class Services::Facebook < Service
def post(post, url='') def post(post, url='')
Rails.logger.debug("event=post_to_service type=facebook sender_id=#{self.user_id}") Rails.logger.debug("event=post_to_service type=facebook sender_id=#{self.user_id}")
if post.public? post_to_facebook("https://graph.facebook.com/me/feed", create_post_params(post).to_param)
post_to_facebook("https://graph.facebook.com/me/joindiaspora:make", create_open_graph_params(post).to_param)
else
post_to_facebook("https://graph.facebook.com/me/feed", create_post_params(post).to_param)
end
end end
def post_to_facebook(url, body) def post_to_facebook(url, body)
Faraday.post(url, body) Faraday.post(url, body)
end end
def create_open_graph_params(post)
{:post => "#{AppConfig.pod_uri.to_s}#{short_post_path(post)}", :access_token => self.access_token}
end
def create_post_params(post) def create_post_params(post)
message = post.text(:plain_text => true) message = post.text(:plain_text => true)
{:message => message, :access_token => self.access_token, :link => URI.extract(message, ['https', 'http']).first} {:message => message, :access_token => self.access_token, :link => URI.extract(message, ['https', 'http']).first}

View file

@ -56,7 +56,6 @@ defaults:
enable: false enable: false
app_id: app_id:
secret: secret:
open_graph_namespace: 'joindiaspora'
twitter: twitter:
enable: false enable: false
key: key:

View file

@ -252,9 +252,6 @@ configuration: ## Section
#enable: true #enable: true
#app_id: 'abcdef' #app_id: 'abcdef'
#secret: 'changeme' #secret: 'changeme'
## this will be the namespace for your object,
## it should be configured in your FB app
#open_graph_namespace:
## OAuth credentials for Twitter: ## OAuth credentials for Twitter:
twitter: ## Section twitter: ## Section

View file

@ -11,7 +11,7 @@ describe Services::Facebook do
describe '#post' do describe '#post' do
it 'posts a status message to facebook' do it 'posts a status message to facebook' do
stub_request(:post, "https://graph.facebook.com/me/joindiaspora:make"). stub_request(:post, "https://graph.facebook.com/me/feed").
to_return(:status => 200, :body => "", :headers => {}) to_return(:status => 200, :body => "", :headers => {})
@service.post(@post) @service.post(@post)
end end
@ -19,13 +19,13 @@ describe Services::Facebook do
it 'swallows exception raised by facebook always being down' do it 'swallows exception raised by facebook always being down' do
pending "temporarily disabled to figure out while some requests are failing" pending "temporarily disabled to figure out while some requests are failing"
stub_request(:post,"https://graph.facebook.com/me/joindiaspora:make"). stub_request(:post,"https://graph.facebook.com/me/feed").
to_raise(StandardError) to_raise(StandardError)
@service.post(@post) @service.post(@post)
end end
it 'should call public message' do it 'should call public message' do
stub_request(:post, "https://graph.facebook.com/me/joindiaspora:make"). stub_request(:post, "https://graph.facebook.com/me/feed").
to_return(:status => 200) to_return(:status => 200)
url = "foo" url = "foo"
@service.should_not_receive(:public_message) @service.should_not_receive(:public_message)