Перенаправление нового пользователя на страницу входа в Facebook, если сессия Facebook не доступна. JavaScript - PullRequest
0 голосов
/ 31 октября 2011

Я занимаюсь разработкой приложения iframe для Facebook на JavaScript.Проблема заключается в том, что если пользователь нажал на URL моего приложения Facebook, я хочу перенаправить пользователя на страницу входа в Facebook, если он не вошел в систему и после того, как он введет свои учетные данные, он будет перенаправлен в мое приложение, а НЕ на домашнюю страницу Facebook.Вот мой код:

<html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
        <title>Psych-oh! Meter</title>
    </head>

    <script src="http://connect.facebook.net/en_US/all.js"></script>
    <div id="fb-root"></div>

    <script>
       FB.init({appId:'178012645616471', xfbml: true, cookie: true, oauth: true, fbconnect: false});
       FB.Event.subscribe('auth.login', function(response) {
           alert("response");
           FB.api('/me', function(resp) {
               alert('Your name  is sub: '+ resp.name);
               alert('Your email id is sub: '+ resp.email);
           });
       });

       FB.getLoginStatus(function(response) {
           if (response.authResponse) {
               // Logged in and connected user, someone you know
               FB.api('/me', function(resp) {
                    alert('Your name is1111... ' + resp.name);
                   alert('Your email is1111.... ' + resp.email);
               });
           }
           else {
               // No user session available, someone you don't know.

               top.location.href='https://graph.facebook.com/oauth/authorize?type=web_server&client_id='+178012645616471+'&redirect_uri=https://apps.facebook.com/palmchipprojecta/&display=page';
           }
       });
   </script>
   <body>
       <h1>Welcome</h1>
   </body>

Поэтому, когда я нажимаю на URL, когда я не вошел в Facebook, я вижу синий заголовок страницы входа в Facebook, и на следующей странице написано Страница не найдена , и когда я захожу на эту страницу, она перенаправляется на мою домашнюю страницу Facebook, а не на домашнюю индексную страницу моего приложения.

1 Ответ

0 голосов
/ 31 октября 2011

Вы не хотите использовать функцию FB.login , чтобы предложить пользователю войти в систему с помощью всплывающего окна?

РЕДАКТИРОВАТЬ

Я говорил слишком рано.Из документов FB.login:

FB.login открывает всплывающее окно, и поэтому вам следует вызывать FB.login только тогда, когда он связан с пользовательским щелчком.Большинство браузеров блокируют всплывающие окна, если они не были инициированы пользовательским событием, таким как нажатие кнопки или ссылки.

...