0

Facebook アプリで問題が発生しました。誰かがアプリのURLを入力したときにファンゲートを作りたい、例. apps.facebook.com/zoomcompetition/

空白が表示されるため、タブに作成できません。しかし、それはアプリのURLで機能するので、アプリのファンゲートをFacebookページに追加したいと考えています。これがコードです

<?php

require 'src/facebook.php';
//require 'fbconfig.php';
require 'functions.php';

// Create An instance of our Facebook Application.
$facebook = new Facebook(array(
'appId' => ***************,
'secret' => **************,
));

// Get the app User ID
$user = $facebook->getUser();
if ($user) {
try {
// If the user is authenticated and logged-in
$user_profile = $facebook->api('/me');
//var_dump($user_profile);
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}

// If the user is authenticated then generate the variable for the logout URL
if ($user) {
  $logoutUrl = $facebook->getLogoutUrl();

?>

<!-- Insert Logged in HTML here -->
 <a href="<?php echo $logoutUrl; ?>">Logout</a>


 <?php
//Always place this code at the top of the Page

session_start();

if (!isset($_SESSION['id'])) {

// Redirection to login page  facebook

header("location: index.php");

}
echo ' Welcome '.$_SESSION['username'];  // or whatever you want your user to see.


$varri = "http://www.*****.ps";  
?>  

  <iframe src=<?php print $varri; ?> scrolling="auto" width=100% height=100% frameborder="0"> </iframe>


<?php
$user = $facebook->getUser();
if ($user) { 
 $ret_obj = $facebook->api('/me/feed', 'POST',
                                    array(
                                      'link' => 'https://www.************.com',

                                      'picture' => 'http://www.*******************.jpg',
                                      'caption' => "أهلا وسهلا!",

                                      'message' => ' Welcome '.$_SESSION['username'],


                                      'uid'=> $facebook->getUser()
                                 ));
}


?>


<?php
} else {
  $loginUrl = $facebook->getLoginUrl();
}


if (!empty($user_profile )) {

$username = $user_profile['name'];

$uid = $user_profile['id'];

$email = $user_profile['email'];

$user = new User();

$userdata = $user->checkUser($uid, 'facebook', $username,$email,$twitter_otoken,$twitter_otoken_secret);

if(!empty($userdata)){ 
session_start();

$_SESSION['id'] = $userdata['id'];

$_SESSION['oauth_id'] = $uid;

$_SESSION['username'] = $userdata['username'];

$_SESSION['email'] = $email;

$_SESSION['oauth_provider'] = $userdata['oauth_provider'];

//header("Location: home.php");
?>
<!--<!DOCTYPE>
<HTML>
<head>
<script> 
function run(){
    window.location.href = '/facebook/home.php';
}
</script>
</head>
<body onLoad="run()">
</body>
</html> -->
<?php
}

} else {

die("There was an error."); 
}

}

else {
// Generate a session if there is none.

$login_url = $facebook->getLoginUrl(array( 'scope' => ' read_stream, publish_stream, email'));
?>
<!DOCTYPE>
<HTML>
<head>
<script> 
function run(){
    window.location.href = '<?php echo $login_url ?>';
}
</script>
</head>
<body onLoad="run()">
</body>
</html>
<?php

}

?>

次のいずれかを解決するのを手伝ってもらえますか。

  1. タブに「空白」を表示しないようにするにはどうすればよいですか? 2- アプリの URL に直接アクセスした場合、特定の Facebook Pae のファンゲートを作成するにはどうすればよいですか?
4

1 に答える 1

0

タブに「空白」を表示しないようにするにはどうすればよいですか?

何も出力しないのではなく、なんらかの出力を生成すると思いますが…?

アプリの URL に直接アクセスする場合、特定の Facebook Pae のファンゲートを作成するにはどうすればよいですか?

JavaScript を使用して、キャンバス ページから特定のページ/アプリの組み合わせにリダイレクトできます (top.location.href = "ページ/アプリ ID コンボの FB-アドレス")。キャンバス ページを開いているかどうかを確認する最も簡単な方法は、キャンバス ページ アドレスに追加の GET パラメータを指定することです。これをコードで評価できます。

于 2012-06-05T17:37:42.867 に答える