Facebook应用程序的画布页面没有加载(Facebook App canvas Page not

2019-11-02 20:04发布

当我尝试使用我的应用我为Facebook创造了我不断收到此错误。 当我去的URL应用它带我到登录页面,但是当我登录,我得到一个弹出框,其中的错误。

应用程序未安装:这个程序的开发者还没有建立这个程序正常进行的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控制器。

我该如何解决?

更新:

之后我加入了应用程序的画布应用这个错误似乎消失,但仍有一个问题。

我加入了Facebook应用程序平台,进入画布网址,安全的帆布网址等。

当我去到画布页的应用程序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>");
        }

Answer 1:

为什么没有在画布页面请求许可?

因为你重定向iframe中,但FB登录对话框不希望在(我(帧显示) - 原因很明显,这将导致大量的网络钓鱼的,因为用户应该看到的是,他们正在进入他们的登录凭据太页面实际上是真正的FB网站。

所以,你必须在上面的窗口实例中的重定向,通过JavaScript:

top.location.href = '…';


文章来源: Facebook App canvas Page not loading