我需要向facebook用户请求获取特定信息(电子邮件,生日)的许可。
当用户第一次启动应用程序时,如果他接受了该权限,则他被迫刷新页面以显示数据(只是关于用户的信息,请参阅我的代码)。
问题是它在某个时候工作正常,这就是为什么我不知道它是facebook问题还是我自己代码中的问题。
如果您可以查看我的代码,我们将非常感谢您的帮助! 提前谢谢
<?php
require 'php-sdk/src/facebook.php';
$facebook = new Facebook(array(
'appId' => '453976824647366',
'secret' => 'fe86f3b0b34b3ed6XXXXXX',
'cookie' => true,
));
// Get User ID
$user = $facebook->getUser();
if ($user) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $facebook->api('/me');
$friends = $facebook->api('/me/friends');
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
?>
<!doctype html>
<html xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<style>
body {
font-family: 'Lucida Grande', Verdana, Arial, sans-serif;
}
h1 a {
text-decoration: none;
color: #3b5998;
}
h1 a:hover {
text-decoration: underline;
}
</style>
</head>
<body>
<fb:login-button autologoutlink="true" perms="email,user_birthday" size="large" onlogin="window.location = 'youlike.php';">Connect to this application using Facebook</fb:login-button>
<?php if ($user): ?>
<h3>Vous</h3>
<img src="https://graph.facebook.com/<?php echo $user; ?>/picture">
<pre><?php print_r($user_profile); ?></pre>
Date de Naissance : <?php echo $user_profile["birthday"];
echo '<ul>';
foreach ($friends["data"] as $value) {
echo '<li>';
echo '<div class="pic">';
echo '<img src="https://graph.facebook.com/' . $value["id"] . '/picture"/>';
echo '</div>';
echo '<div class="picName">'.$value["name"].'</div>';
echo '</li>';
}
echo '</ul>';?>
<?php endif ?>
</body>
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
</div>
<script>
FB.init({appId: '453976824647366', status: true,
cookie: true, xfbml: true});
</script>
</div>
</html>
答案 0 :(得分:0)
您可以随时强制刷新login
/ logout
,以确保:
在FB.init
FB.Event.subscribe('auth.login', function(){
window.location.reload();
});
FB.Event.subscribe('auth.logout', function(){
window.location.reload();
});