Ну, это проблема.У меня есть этот код, который работает очень хорошо:
Код
<?php
define('FACEBOOK_APP_ID', 'MY.APP.CODE');
define('FACEBOOK_SECRET', 'MY.APP.SECRET');
function get_facebook_cookie($app_id, $application_secret) {
$args = array();
parse_str(trim($_COOKIE['fbs_' . $app_id], '\\"'), $args);
ksort($args);
$payload = '';
foreach ($args as $key => $value) {
if ($key != 'sig') {
$payload .= $key . '=' . $value;
}
}
if (md5($payload . $application_secret) != $args['sig']) {
return null;
}
return $args;
}
$cookie = get_facebook_cookie(FACEBOOK_APP_ID, FACEBOOK_SECRET);
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:fb="http://www.facebook.com/2008/fbml">
<body>
<?php if ($cookie) {
echo("The ID is: " . $cookie['uid']);
echo('<br>The profile Picture is: <IMG SRC="http://graph.facebook.com/' . $cookie['uid'] . '/picture?type=large"><br>');
} else {
echo('<fb:login-button perms="email,user_birthday,publish_stream,user_status"></fb:login-button>');
} ?>
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({appId: '<?= FACEBOOK_APP_ID ?>', status: true,
cookie: true, xfbml: true});
FB.Event.subscribe('auth.login', function(response) {
window.location.reload();
});
</script>
</body>
</html>
Выход
Идентификатор: Число здесь Изображение: Изображение здесь
Проблема
Как видите, этот код дает мне идентификатор пользователя Facebook и фотографию профиля на Facebookкогда он залогинится и даст разрешения приложению.Как я уже сказал, этот код работает нормально, но мне нужно больше информации, как я могу получить электронную почту, пол и имя, используя ту же логику этого кода?Пожалуйста, не используйте внешние библиотеки (например, facebook.php )
Помните, что это очень простое приложение, поэтому я не хочу усложнять его в коде, я знаю, что решениеЯ имею дело с анализом ответов JSON, но я не могу найти хороший и простой код.Спасибо !!!!