1

Facebook のログイン ボタンをクリックすると、このエラーが発生しました。

指定された URL は、アプリケーションの構成で許可されていません。: 指定された URL の 1 つ以上が、アプリの設定で許可されていません。ウェブサイトの URL またはキャンバスの URL と一致するか、ドメインがアプリのドメインのいずれかのサブドメインである必要があります。

This is my website url:-http://192.168.1.234/photogallery/login.php

アプリの設定で、Facebook ログインでこの Web サイトを作成しました

Site URL: http://192.168.1.234/photogallery/login.php

では、サイトの URL の問題は何ですか?

前もって感謝します... :)

public function getLoginUrl($params=array()) {
    $this->establishCSRFTokenState();
    $currentUrl = $this->getCurrentUrl();

    // if 'scope' is passed as an array, convert to comma separated list
    $scopeParams = isset($params['scope']) ? $params['scope'] : null;
    if ($scopeParams && is_array($scopeParams)) {
      $params['scope'] = implode(',', $scopeParams);
    }

    return $this->getUrl(
      'www',
      'dialog/oauth',
      array_merge(array(
                    'client_id' => $this->getAppId(),
                    'redirect_uri' => $currentUrl, // possibly overwritten
                    'state' => $this->state),
                  $params));
  }
protected function getCurrentUrl() {
    if (isset($_SERVER['HTTPS']) &&
        ($_SERVER['HTTPS'] == 'on' || $_SERVER['HTTPS'] == 1) ||
        isset($_SERVER['HTTP_X_FORWARDED_PROTO']) &&
        $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
      $protocol = 'https://';
    }
    else {
      $protocol = 'http://';
    }
    $currentUrl = $protocol . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
    $parts = parse_url($currentUrl);

    $query = '';
    if (!empty($parts['query'])) {
      // drop known fb params
      $params = explode('&', $parts['query']);
      $retained_params = array();
      foreach ($params as $param) {
        if ($this->shouldRetainParam($param)) {
          $retained_params[] = $param;
        }
      }

      if (!empty($retained_params)) {
        $query = '?'.implode($retained_params, '&');
      }
    }

    // use port if non default
    $port =
      isset($parts['port']) &&
      (($protocol === 'http://' && $parts['port'] !== 80) ||
       ($protocol === 'https://' && $parts['port'] !== 443))
      ? ':' . $parts['port'] : '';

    // rebuild
    return $protocol . $parts['host'] . $port . $parts['path'] . $query;
  }
4

3 に答える 3

0

あなたのコードで。を生成するときに、が に設定されtoken_urlていることを確認できますか?redirect_urihttp://192.168.1.234/photogallery/login.php

例:

$token_url = 'https://graph.facebook.com/oauth/access_token?client_id=' . $app_id 
            . '&redirect_uri=' . urlencode('http://192.168.1.234/photogallery/login.php')
            . '&client_secret=' . $app_secret
            . '&code=' . $_SESSION['fb_'.$app_id.'_code'];
于 2013-09-20T10:56:41.703 に答える
0

このエラーは、アプリ設定ページの基本設定が正しく構成されていない場合に発生します。

サイト URL としてローカル ホストを使用しています。たぶん、Facebookはその場所にアクセスできません。http://www.000webhost.com/のようなサーバーにファイルをアップロードしてください。

以下が正しく入力されていることを確認してください。ウェブサイトに Facebook ログインを使用していて、アプリがFacebookまたはAndroidまたはiOSの App用に構成されていないと仮定しています。Facebook ログインオプションを使用したWeb サイトSiteURLでは、Web サイトのドメインアドレスを入力する必要があります。

それはあなたの問題を解決するはずです。

于 2013-09-20T15:15:54.307 に答える
0

キャンバスの URLhttp://192.168.1.234/photogallery/login.phphttp://192.168.1.234/

于 2013-09-20T10:51:52.780 に答える