0

テストアプリで問題が発生しました

$params = array(
  'scope' => 'read_stream, publish_stream'
);

$loginUrl = $facebook->getLoginUrl($params);
echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";

これは、まだログインしていないユーザーを facebook 認証ダイアログ経由でログインさせるために使用するコードです。問題は、Facebook認証ダイアログユーザーを使用してログインした後、Facebookアプリにない私のサイトにリダイレクトされることです。

認証ダイアログを使用してログインした後、ユーザーをFacebookアプリに戻すにはどうすればよいですか?

助けてください

4

2 に答える 2

2

getLoginUrl()redirect_uriのパラメーターを使用して、認証が終了した後にユーザーを送りたい場所を facebook に伝えることができます (成功または失敗にしましょう)。

そこで使用できるものにはいくつかの制限があります。基本的には、次の 3 つのオプションがあります。

  1. アプリケーションのドメインの URL。
  2. アプリケーションのキャンバス パス (存在する場合):https://apps.facebook.com/YOUR_APP_NAMESPACE
  3. アプリケーションがインストールされているページの URL:https://www.facebook.com/PAGE_USERNAME/app_YOUR_APP_ID

デフォルトでは、php SDK は現在の URL をredirect_uri. これらに関するドキュメントは、同じパラメータの oauth ダイアログのドキュメントの下にあります。

于 2012-08-08T06:11:37.077 に答える
0

同じ問題についてグーグルで調べて解決策を見つけたので、彼女に答えたほうがいいかもしれません。

メインページに次のコードを追加するだけです。

$config['appBaseUrl'] = "http://apps.facebook.com/your_app_name/";

if(isset($_GET['code']))
{
     header("location:" . $config['appBaseUrl']);
     exit;
}

$config は、facebook オブジェクトの作成中に渡す配列です。ただし、このコンテキストでは、配列を作成する必要はありません。

于 2013-07-23T11:24:11.610 に答える