2

私はHerokuを使用してFacebookでphpアプリケーションを作成しています。アプリケーションでHerokuURLをCanvasURLにしたい。ただし、[基本]ページにURLを入力し、 http://apps.facebook.com/status_related_testにアクセスしてアプリケーションを開こうとすると、キャンバスに「無効な資格情報」と表示され、アプリケーションのURLhttpsにリダイレクトされます。 ://young-warrior-3712.herokuapp.com

私が間違っているかもしれないアイデアやこれを修正する方法はありますか?

ETA:
アプリケーションリンク(https://young-warrior-3712.herokuapp.com)に直接アクセスすると、正常にサインインできます。Facebookアプリのページに行こうとしたときだけうまくいきません。

4

4 に答える 4

4

のぼら、別の投稿で解決策を見つけたので、長い時間苦労してやっとできました!これは、私が回答した投稿へのリンクです: Answer to redirection in FB app canvas

お役に立てば幸いです...頑張ってください!

于 2011-11-03T07:42:11.223 に答える
0

自分で試してみましたが、index.phpはページの読み込み時に35行目の$tokenをフェッチできません。

$token = FBUtils::login(AppInfo::getHome());
if ($token) {
...
} else {
  // Stop running if we did not get a valid response from logging in
  exit("Invalid credentials");
}

http://developers.facebook.com/docs/authentication/の手順を使用して、FBUtils::loginが失敗する理由を確認します。

または、「Facebook::getLoginUrl」などの関数がすでに含まれているFacebookPHPSDK(http://developers.facebook.com/docs/reference/php/)を使用して、このエラーを回避することもできます。

于 2011-11-01T04:17:03.097 に答える
0

getHome()AppInfo.phpの関数に移動し、次の行を見つけます。

return ($_SERVER['HTTP_X_FORWARDED_PROTO'] ?: "http") . "://" . $_SERVER['HTTP_HOST'] . "/"; 

キャンバス ページの URLに変更する必要があり$_SERVER['HTTP_HOST']ます。

return ($_SERVER['HTTP_X_FORWARDED_PROTO'] ?: "http") . "://" . "apps.facebook.com/yourappname"  . "/"; 

アプリの名前空間はどこにyourappnameありますか。

これらの変更を適用すると、キャンバス ページにリダイレクトされるため、アプリケーションの heroku ページを使用できなくなることに注意してください。

于 2011-11-21T11:49:26.830 に答える
0

Facebook のページ タブに自分のアプリを含めようとして、同様の問題が発生していました。この問題に対する答えは、FBUtils.php を編集することです。

探す:

      echo("<script> window.location.href='" . $authorize_url . "'</script>");

と置換する:

echo("<script> window.location.href='" . $authorize_url . "'</script>");

この行は、FBUtils.php の 94 行目にあります。

于 2012-01-16T20:57:57.887 に答える