Always use basic Facebook Graph API to post messages, fixes public posts. Remove unnecessary Facebook opengraph config items
This commit is contained in:
parent
3aef807f78
commit
e974d2934f
5 changed files with 5 additions and 16 deletions
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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/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)
|
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}
|
||||||
|
|
|
||||||
|
|
@ -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:
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue