Страница холста приложения Facebook не загружается

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

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

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

Я уже изменил сататус на «Живой под статусом» и «Обзор» на моей панели инструментов.

Когда я вхожу в свою учетную запись на 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, которое я создал.

Как я могу это исправить?

ОБНОВЛЕНИЕ:

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

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

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

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

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

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

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

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>");
        }

person Tester    schedule 25.01.2014    source источник
comment
можешь ли ты добавить скриншоты своего приложения facebook?   -  person Rakesh Sharma    schedule 26.01.2014
comment
@RakeshSharma Спасибо, что посмотрели на это. См. Обновление вопроса. Ваша помощь очень ценится.   -  person Tester    schedule 26.01.2014


Ответы (1)


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

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

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

top.location.href = '…';
person CBroe    schedule 26.01.2014
comment
Не уверен насчет этого кода. См. Мою правку выше. Это сработает? На какой URL я указываю в href=''? Немного запутался. - person Tester; 27.01.2014
comment
хорошо, он загружается сейчас, но затем он перенаправляется, когда пользователь входит в систему по URL-адресу холста, а не на странице холста facebook - person Tester; 27.01.2014
comment
Хорошо, тогда установите правильный URI перенаправления при создании URL-адреса для входа ... или выполните вход на стороне клиента, используя FB.login из JS SDK (что выглядит лучше, кстати, поскольку он просто накладывает диалоговое окно с диалоговым окном входа и не делает '' t перенаправить). - person CBroe; 27.01.2014
comment
хорошо, посмотрим на это. Кроме того, если пользователь уже вошел в систему, диалоговое окно с запросом разрешения появляется дважды? Не знаю как - person Tester; 27.01.2014