使用facebook api在Facebook上分享文章

时间:2011-03-17 14:03:21

标签: ruby-on-rails facebook

我有一个帮助用户提交文章的rails应用程序。有没有人知道如何让应用程序中的用户使用他们的Facebook地址在Facebook上分享这些文章?一个好的参考或教程会很好。

5 个答案:

答案 0 :(得分:12)

您可以打开http://www.facebook.com/sharer.php?u=URL的弹出窗口。这将在Facebook页面上显示一个共享,其中包含指向您图像的链接。

例如:http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.google.com

答案 1 :(得分:4)

以下是ruby on rails语法:

<%= link_to image_tag('/images/FaceBookIcon.png'), 'http://www.facebook.com/sharer.php?u='+request.fullpath, :target => :blank %>

答案 2 :(得分:4)

已弃用“sharer”链接。在这里查看更新的文档:

https://developers.facebook.com/docs/reference/dialogs/feed/

在Rails中使用Direct URL方法的一个简单示例如下所示:

<%= link_to('Share on Facebook', 'https://www.facebook.com/dialog/feed?
                                  link=https://developers.facebook.com/docs/reference/dialogs/&
                                  picture=http://fbrell.com/f8.jpg&
                                  name=Facebook%20Dialogs&
                                  caption=Reference%20Documentation&
                                  description=Using%20Dialogs%20to%20interact%20with%20users.&
                                  redirect_uri=https://mighty-lowlands-6381.herokuapp.com/',
                                  :target => :blank %>

答案 3 :(得分:1)

我发现了一个用Oauth令牌分享到Facebook的技巧,这里是我的链接

使用换行符打破

参数以使其更具可读性

<a target="_blank" 
   href="https://www.facebook.com/dialog/feed
     ?app_id=134530986736267
     &link=<%= request.original_url %>
     &name=<%= @article.title%>
     &picture=<%=image_url(@article.image)%>
     &redirect_uri=http://facebook.com/" 
   class="icon icon-facebook">
</a>

来源:http://bechirsegni.me/articles/how-to-share-articles-on-facebook-without-oauth-access-token

答案 4 :(得分:0)

我必须拼凑几个答案才能找到有效的解决方案。

您可以将其添加到文章显示页面的底部:

<%= link_to "https://www.facebook.com/sharer/sharer.php?u=#{article_url(@article)}",  title: 'Share Me!' do %>
<i class="huge facebook icon" data-content="Share Me!"></i>
<% end %>

还值得注意的是,由于点击此按钮而打开的Facebook页面可能也应该知道文章的标题,也可能是其文本或描述的片段。您可以使用以下设置页面标题:Rails 3 - Ideal way to set title of pages