助けが必要です。私はこの問題に1か月間取り組んでいます!!
PHPとphp-sdk3.1.1を使用して、自分のWebサイトにFacebook接続ログインを実装したいと思います。簡単に言うと、私のコードはオフライン(ローカルホスト上)で機能しますが、オンラインでは機能しません。その結果、「リダイレクトループが多すぎます(Chrome上)」:エラー310(net :: ERR_TOO_MANY_REDIRECTS):リダイレクトが多すぎます。
これが私のコードです:
1 / facebook connect SDKをロードして初期化します:
require 'src/facebook.php';
$facebook = new Facebook(array(
'appId' => '209633612480053',
'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx'
));
facebook-developperページで2つのアプリを作成したことに注意してください。1つはオフラインテスト用で、もう1つはオンラインテスト用です。また、テスト時には、appId / secretの2つのペア(オンラインとオフライン)を正しく切り替える必要があります。だから、それは悪いfacebbokの問題ではありません-initを接続します。
2 /ユーザー情報を取得しようとしています:
$uid = $facebook->getUser();
if($uid)
{
/*
* Get user information.
*/
$user = $facebook->api('me/');
print_r($user); // Display user info.
}
else
{
/*
* Redirect to FB login URL to allow access.
*/
$loginURL = $facebook->getLoginURL();
echo '<script> top.location.href=\''.$loginURL.'\'</script>';
}
それはそれと同じくらい簡単です:ユーザーicがFacebookに接続している場合は、その情報を表示します。そうでない場合は、Facebookのログインページにリダイレクトしてアクセスを許可します。
オフラインでは完全に機能しますが、オンラインではChromeエラーが発生します。
This webpage has a redirect loop
The webpage at https://www.facebook.com/dialog/oauth?client_id=209633612480053&redirect_uri=http%3A%2F%2Fwww.bluward.com%2Foauth%2Ffacebook&state=551f60cd4be6cd8ed1622f8168a5219a#_=_ has resulted in too many redirects. Clearing your cookies for this site or allowing third-party cookies may fix the problem. If not, it is possibly a server configuration issue and not a problem with your computer.
いくつかの追加情報:オンラインでは、1and1ホストプロバイダーを使用しています。オフラインサーバー(MAMP Pro)と同じサーバー構成にするために、samsphp.iniファイルをアップロードしました。
誰かがアイデアを持っているか、同様の問題が発生した場合は、喜んでお手伝いさせていただきます。
よろしくお願いします。
アップデート:
問題のある行に焦点を合わせるようにコードを更新したので、Facebookのログインページにリダイレクトする代わりに、リダイレクトURLを表示するので、クリックしてログインするだけです。
$uid = $facebook->getUser();
if($uid)
{
/*
* Get user information.
*/
$user = $facebook->api('me/');
print_r($user); // Display user info.
}
else
{
/*
* Redirect to FB login URL to allow access.
*/
$loginURL = $facebook->getLoginURL();
echo $loginURL; // <-- HERE I CHANGED THE CODE TO DISPLAY LOGIN URL
}
私が気付いたのは、Facebookが私のスクリプトページに無限にリダイレクトしているということです。code
URLバーのパラメータのみが変更されます。
では、なぜfacebbokはユーザー情報を提供せずにスクリプトページにリダイレクトするのですか?
どうか、何か考えはありますか?