Подтвердить что ты не робот

Как разрешить кнопку Facebook Login перенаправлять на определенный URL-адрес

Это информация о кнопке входа в Facebook

http://developers.facebook.com/docs/guides/web/

Таким образом, он отобразит кнопку "Логин", и пользователь может нажать на нее, чтобы войти в систему на Facebook (появится окно входа в систему) Но после входа пользователя в систему, даже если кнопки "Имени" или "Поделиться" работают сейчас, но кнопка "Вход в систему" ​​все еще отображается.

1) Есть ли способ перенаправить URL-адрес после успешного входа в систему?
2) Другим способом является динамическое изменение кнопки входа в систему до невидимого или еще лучшего, покажите это как "Вы вошли как [Peter (username)]"

Как можно (1) и/или (2) выполнить? (Я не вижу URL-адрес обратного вызова в настройках приложения Facebook, а также перенаправление, возможно, потребуется перейти на другой URL-адрес со страницы A или страницы B на веб-сайте)

Обновление: Я нашел информацию о <fb:login-button on-login="top.location = '...'; ">, но я вижу, что какой-то сайт выполняет перенаправление, но нет on-login='...'

4b9b3361

Ответ 1

1) Вы также можете перенаправить логин с помощью такого кода (обратите внимание на событие auth.login):

 <script src="http://connect.facebook.net/en_US/all.js">
  </script>
  <script>
      FB.init({
          appId: '??????????????', cookie: true,
          status: true, xfbml: true
      });
      FB.Event.subscribe('auth.login', function () {
          window.location = "http://example.com";
      });
  </script>
  <fb:login-button>
     Login with Facebook
  </fb:login-button>

2) Чтобы определить, показывать или скрывать кнопку входа, вы можете использовать FB.getLoginStatus, чтобы узнать, вошел ли пользователь в систему. Следующая страница может быть полезной: http://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/

Ответ 2

вариант FBML:. Это должно предоставить вам нужные функции (с xfbml:true в FB.init):

<fb:login-button autologoutlink="true" onlogin="OnRequestPermission();">
</fb:login-button>

Когда пользователь вошел в систему, он изменяется на "Выход". Кроме того, если пользователь не предоставил разрешения для приложения, он всплывает диалоговое окно разрешения запроса.

Пользовательская опция: Если вам не нравится использовать FBML, вы можете сделать свою собственную кнопку входа в Facebook следующим образом:

HTML:

<button id="THE_BUTTON">Login</button>

JavaScript:

FB.init({appId: 'YourAPPID', status: true, cookie: true, xfbml: true, oauth : true});
FB.getLoginStatus(function(response) {
    if (response.status.toString().indexOf("connected")>-1) {
        initAll(); //User is connected and granted permissions
        FB.api("/me", function (response) {
            document.getElementbyId("THE_BUTTON").value = 
                                            "Logged in as " + response.name;
        });
    } else { 
        // This URL is specially formed to ask permissions for your app. You change the 
        // permissions and your appID
        //redirect_uri = Change this to your desired callback URL
        top.location=window.location="http://www.facebook.com/dialog/oauth/?scope=read_stream,publish_stream,friends_photos,friends_activities&client_id="yourAPPID(nobrackets)"&redirect_uri=http://apps.facebook.com/filtered_feed/&response_type=code";
    }
});

Итак, если пользователь вошел в систему, кнопка будет заменена на "Зарегистрировано как имя пользователя". В противном случае появится диалоговое окно OAuth.