[英]How to get the email address of a Facebook user using the graph API?
[英]Stuck on Graph API (facebook API), how do i get name, email and sex using this code?
好吧,这就是问题。 我有这个代码,谁工作得很好:
<?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>
id为: 这里有一个数字图片是: 这里有一张图片
如您所见,此代码在登录时向我提供用户的Facebook ID和个人资料图片,并为应用程序授予权限。 正如我所说,这段代码工作正常,但我需要更多的信息,我如何使用相同的代码逻辑来检索电子邮件,性别和名称? 请不要使用外部libiries(如facebook.php )
请记住,这是一个非常简单的应用程序,所以我不想让它在代码中变得复杂,我知道解决方案与解析JSON响应有关,但我找不到任何好的和简单的代码。 谢谢!!!!
Graph API以JSON格式返回结果。
例如
GET http://graph.facebook.com/4 HTTP/1.1
给
{"id":"4","name":"Mark Zuckerberg","first_name":"Mark","last_name":"Zuckerberg","link":"http:\/\/www.facebook.com\/zuck","gender":"male","locale":"en_US"}
这里name
是名字; gender
就是性。 如果您已授予用户电子邮件权限,则您也会收到该电子邮件。
您需要根据所需的数据查看可能需要的所有扩展权限。
http://developers.facebook.com/docs/authentication/permissions
'me/friends?fields=gender,name,id'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.