Facebook に接続する php ファイルから単純な変数を Flash に渡すのに問題があります。これが私がすることです:
ユーザーが私のゲームに参加すると、Facebook を使用してログインするオプションが表示されます。彼がそうすることを選択した場合、私は php ファイルを呼び出します。これにより彼は facebook に移動し、そこで彼はゲームへのアクセスを許可し、facebook は彼をゲームにリダイレクトします。再びゲームに入ると、Facebook からユーザー情報を取得するために、LoadVars を使用して同じファイルを呼び出します。ユーザーはすでに facebook に接続しているため、変数は通常どおり Flash に渡されるはずですが、渡されません。PHP のみを実行すると、変数は正常に表示されますが、単に Flash には移動しません。
Facebookでのアクセスを許可した後、ユーザーを別のphpファイルにリダイレクトすることで回避策を実行しました。この php ファイルは、ユーザーを再び Flash ゲームのインデックスにリダイレクトし、変数が正常に渡されるようにします。問題は、ユーザーを別の URL にリダイレクトしているため、リダイレクト エラーが発生することがあるということです...そして、このメソッドを使用したくありませんでした。
何か案は?
これが私のphpコードです:
<?php
require_once '../facebook.php'; // Require the Facebook PHP SDK
// CONNECT TO THE FACEBOOK APP
$config = array();
$config[appId] = 'xxxx';
$config[secret] = 'xxxx';
$config[fileUpload] = false;
$facebook = new Facebook ($config);
// GET THE USER ID
$user = $facebook->getUser();
if ($user) { // Succesfully got the user id. User is logged in to facebook
$userProfile = $facebook->api('/me'); // Get the basic user info from his profile
$toGame = "";
$toGame .= $userProfile['first_name']."#";
$toGame .= $userProfile['middle_name']."#";
$toGame .= $userProfile['last_name']."#";
$toGame .= $userProfile['birthday']."#";
$toGame .= $userProfile['email']."#";
$toGame .= $userProfile['gender'];
echo $toGame;
}
else { // Failed to get the user's facebook id. Tell him to log on facebook
$params = array ();
$params[scope] = 'publish_stream, user_birthday, email';
//$params[redirect_uri] = 'xxx';
$params[redirect_uri] = 'xxx';
$loginUrl = $facebook->getLoginUrl($params);
echo "needLogin#".$loginUrl; // Tell Flash to redirect the user to the facebook connect page
}
?>