2014-01-25 5 views
0

Я продолжаю получать эту ошибку, когда пытаюсь использовать мое приложение, которое я создал для Facebook. Когда я иду по URL-адресу приложения, он ведет меня на страницу входа, но когда я вхожу в систему, я получаю всплывающее окно с ошибкой.Facebook App canvas Страница не загружается

Приложение не установлено: разработчики этого приложения не настроили это приложение правильно для входа в Facebook.

Каждый раз, когда я нажимаю ok, он снова перезагружает всплывающее окно.

Я уже изменил состояние satatus, чтобы жить под статусом и просматривать в своей панели.

Когда я вошел в свою учетную запись на facebook, она работает нормально, но я полагаю, это связано с тем, что я установлен в качестве администратора для приложения на панели управления.

Но другие пользователи сталкиваются с проблемой.

Код, используемый:

require_once('facebook-php-sdk/src/facebook.php'); 

     $facebook= new Facebook(array(
      'appId' => $this->config->item('app_id'), 
       'secret' => $this->config->item('app_secret'), 
       'allowSignedRequest' => true, 
     )); 

     $_REQUEST += $_GET; 
     $user = $facebook->getUser(); 

     if ($user) { 
      try { 

      $user_profile = $facebook->api('/me?fields=picture.width(100).height(100),first_name,last_name,username,email'); 

      } catch (FacebookApiException $e) { 
      $user = null; 
      } 
     } else { 
      $login_url = $facebook->getLoginUrl(array(
       'scope' => 'email' 
      )); 

      redirect($login_url, 'refresh'); 
     } 

Этот код в мой контроллер моего CodeIgniter приложение, которое я построил приложение.

Как исправить это?

UPDATE:

После того как я добавил приложение в качестве холста приложение показалось это ошибка, чтобы уйти, однако есть еще проблема.

Я добавил приложение платформы Facebook и вошел холст URL, безопасный холст URL и т.д.

Когда я иду в приложение на холст странице https://apps.facebook.com/MyApp/ - это работать нормально, как я являюсь администратором приложения я думаю.

Однако, когда внешний пользователь переходит на страницу холста, он просто остается пустым, но если пользователь переходит на холст url http://apps.mydomain.com/MyAPP, приложение запрашивает их разрешения и отлично работает как веб-сайт.

Он просто остается пустым для пользователей на странице холста. Почему страница холста не запрашивает разрешения?

Помогите пожалуйста.

EDIT:

require_once('facebook-php-sdk/src/facebook.php'); 

     $facebook= new Facebook(array(
      'appId' => $this->config->item('app_id'), 
       'secret' => $this->config->item('app_secret'), 
       'allowSignedRequest' => true, 
     )); 

     $_REQUEST += $_GET; 
     $user = $facebook->getUser(); 

     if ($user) { 
      try { 

      $user_profile = $facebook->api('/me?fields=picture.width(100).height(100),first_name,last_name,username,email'); 

      } catch (FacebookApiException $e) { 
      $user = null; 
      } 
     } else { 
      $login_url = $facebook->getLoginUrl(array(
       'scope' => 'email' 
      )); 

      require_once('facebook-php-sdk/src/facebook.php'); 

    $facebook= new Facebook(array(
     'appId' => $this->config->item('app_id'), 
      'secret' => $this->config->item('app_secret'), 
      'allowSignedRequest' => true, 
    )); 

    $_REQUEST += $_GET; 
    $user = $facebook->getUser(); 

    if ($user) { 
     try { 

     $user_profile = $facebook->api('/me?fields=picture.width(100).height(100),first_name,last_name,username,email'); 

     } catch (FacebookApiException $e) { 
     $user = null; 
     } 
    } else { 
     $login_url = $facebook->getLoginUrl(array(
      'scope' => 'email' 
     )); 

     echo("<script> top.location.href='" . $login_url . "'</script>"); 
     } 
+0

вы можете добавить свои приложения facebook screenshos –

+0

@RakeshSharma Спасибо за глядя на это. См. Обновление к вопросу. Ваша помощь очень ценится. – Tester

ответ

0

Почему не страница холст спрашивать разрешения?

Поскольку вы перенаправляете внутри фрейма, но диалог FB Логин не хочет отображаться в (I (кадры) - по той очевидной причине, что это приведет к большому количеству фишинга, так как пользователи должны видеть, что страница, в которую они вводят свои учетные данные, также является реальным сайтом FB.

Таким образом, вы должны перенаправить в случае верхнего окна, с помощью JavaScript:

top.location.href = '…'; 
+0

Не уверен в этом коде. См. Мое редактирование выше. Будет ли это работать? На какой url я указываю его в 'href = '''? Немного смущен. – Tester

+0

URL-адрес для входа, конечно ... – CBroe

+0

ok он загружается сейчас, но затем он перенаправляется, когда пользователь входит в систему на холсте, а не на странице холста facebook. – Tester

Смежные вопросы