Fan-Gate в приложении Facebook, URL-адрес + вкладка Facebook Отображение пустого
У меня проблема с приложением 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
}
?>
Можете ли вы помочь мне решить одну из следующих задач:
- Что мне нужно, чтобы на вкладке не отображалось "Пробел"? 2- Как я могу сделать фан-гейт для конкретного Facebook Pae, если кто-нибудь сразу перейдет на URL приложения?
1 ответ
Что мне нужно, чтобы на вкладке не отображалось "Пробел"?
Я предполагаю, что получится какой-нибудь вывод вместо ничего...?
Как я могу сделать фан-гейт для определенной страницы Facebook Pae, если кто-нибудь сразу перейдет на URL-адрес приложения?
Вы можете перенаправить со страницы холста на определенную комбинацию страницы / приложения через JavaScript (top.location.href = "FB-адрес вашей страницы / комбинированного идентификатора приложения"). И чтобы проверить, находитесь ли вы на странице холста, самый простой способ сделать это - дать ему дополнительный параметр GET в адресе страницы холста, который вы затем сможете оценить в своем коде.