Heroku Facebook App - 当他们拒绝许可时重定向用户

时间:2015-11-10 05:58:55

标签: facebook heroku

抱歉我的英文。

我想在facebook heroku上托管我的应用程序。

我关注了this tutorial,并设法创建了一个应用程序。

但是如何添加重定向到登录和应用程序权限?即当用户访问网址still-bayou-6120.herokuapp.comapps.facebook.com/still-bayou-6120时 他被重定向到登录界面,然后他“接受”或“拒绝”用户的权限?

在上面的教程中,他们没有解释如何

  

在用户拒绝权限时重定向

我在谷歌搜索但没找到任何文章。

enter image description here

1 个答案:

答案 0 :(得分:0)

在" index.erb"中,有一个Facebook init()函数。

window.fbAsyncInit = function() {
    FB.init({
      appId      : "<%= @app['id'] %>",                     // App ID
      channelUrl : "<%= url_no_scheme('/channel.html') %>", // Channel File
      status     : true,                                    // check login status
      cookie     : true,                                    // enable cookies to allow the server to access the session
      xfbml      : true                                     // parse XFBML
    });
    // Listen to the auth.login which will be called when the user logs in
    // using the Login button
    FB.Event.subscribe('auth.login', function(response) {
      // We want to reload the page now so Ruby can read the cookie that the
      // Javascript SDK sat. But we don't want to use
      // window.location.reload() because if this is in a canvas there was a
      // post made to this page and a reload will trigger a message to the
      // user asking if they want to send data again.
      window.location = window.location;
    });
    FB.Canvas.setAutoGrow();
};

因此,您可以添加一些代码来检查用户是否拒绝以下权限。

window.fbAsyncInit = function() {
    FB.init({
      appId      : "<%= @app['id'] %>",                     // App ID
      channelUrl : "<%= url_no_scheme('/channel.html') %>", // Channel File
      status     : true,                                    // check login status
      cookie     : true,                                    // enable cookies to allow the server to access the session
      xfbml      : true                                     // parse XFBML
    });

    //Check Status
    FB.getLoginStatus(function(response) {
      if (response.status === 'connected') {
        FB.Event.subscribe('auth.login', function(response) {
          window.location = window.location;
        });
        FB.Canvas.setAutoGrow();
      } else {
        //Deny permission//
        //DO SOMETHING HERE
      }
    });
};

PS。我还没有运行此代码。另外,请查看此link以获取Facebook登录信息。