使用Facebook API创建用户邀请按钮

时间:2014-11-11 02:43:44

标签: ruby-on-rails facebook facebook-graph-api facebook-javascript-sdk

我试图在我的某个页面上创建一个按钮,允许用户邀请他们的朋友使用我的网络应用程序。当我点击我为邀请按钮创建的链接时,没有任何反应。我错过了什么?我对编码很陌生,所以我对下一步做什么感到有点迷失。

Show.html.erb文件:

<% if current_user %>

<div id="friends">
<p> <%= link_to "Invite Your Facebook Friends", '#', :id => 'invite_fb_friends' %></p>

<div id="fb-root"></div>

<script src="http://connect.facebook.net/en_US/all.js"></script>

<script>

$(function(){

    $("a#invite_fb_friends").click(function(){
        FB.init({
            appId:'My app ID',
            cookie:false,
            status:true
        });
        FB.ui({ method: 'apprequests', message: '<%= @user %> Invited you to collaborate on a     story.'} requestCallback;);
    };)
});
</script>
</div>
<% end %>

我使用这些宝石进行身份验证

gem 'devise'
gem 'omniauth'
gem 'omniauth-facebook' 

这是我的omniauth回调控制器

    def facebook     
 @user = User.find_for_facebook_oauth(request.env["omniauth.auth"], current_user)      
 if @user.persisted?       
  sign_in_and_redirect @user, :event => :authentication #this will throw if @user is not activated
  set_flash_message(:notice, :success, :kind => "Facebook") if is_navigational_format?
else
  session["devise.facebook_data"] = request.env["omniauth.auth"]
  redirect_to new_user_registration_url
end
end

end

1 个答案:

答案 0 :(得分:0)

自发布此问题以来,我了解到您只能启用该功能,以允许用户邀请他们的朋友加入您的应用(如果它在画布上存在)。 https://developers.facebook.com/docs/games/canvas

自api发布的v2.0以来,允许用户发送FB邀请的最佳方式是通过发送对话框。 https://developers.facebook.com/docs/sharing/reference/send-dialog

如果有人找到更好的方法,请告诉我。